阅读 128

k8s-"hostNetwork: true"网络

kubernetes "hostNetwork: true",这是一种直接定义Pod网络的方式。如果在POD中

使用"hostNetwork: true"配置网络,pod中运行的应用程序可以直接看到宿主主机的网

络接口,宿主机所在的局域网上所有网络接口都可以访问到该应用程序及端口。

示例:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      hostNetwork: true
      # 使用主机网络
      dnsPolicy: ClusterFirstWithHostNet
      # 该设置是使POD使用k8s的dns,dns配置在/etc/resolv.conf文件中
      # 如果不加,pod默认使用所在宿主主机使用的DNS,这样会导致容器
      # 内不能通过service name访问k8s集群中其他POD
      containers:
      - name: nginx
        image: nginx:1.7.9
        #ports:
        #  - name: metrics
        #    hostPort: 80
        #    containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx
spec:
  selector:
    app: nginx
  type: NodePort
  ports:
    -
      name: http
      port: 80
      targetPort: 80
      protocol: TCP
      nodePort: 30080

 

80端口是使用pod的"hostNetwork: true"方式暴露的,30080端口是使用service的"type: NodePort"方式暴露的。

 

原文:https://www.cnblogs.com/LiuChang-blog/p/15138822.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐