Pod使用Host网络,就是让Pod使用Node的网络空间和网络资源。配置成Host网络后,Pod可以直接访问到Node上loopback设备,可以在Node上监听地址,也可以用于监控Node上别的Pod的网络流量。

前提条件

  • 您已经成功创建一个 Kubernetes 集群,参见ZH-CN_TP_16639.html#CS_user_guide_kubernetes。
  • 您可以通过Kubectl连接到Kubernetes 集群,参见通过 kubectl 连接 Kubernetes 集群。

操作步骤

  1. 打开您的Yaml文件host-network.yaml,在spec下指定hostNetwork: true
    Yaml文件完整样例如下:

    apiVersion: v1
    kind: Pod
    metadata:
      name: nginx
    spec:
      hostNetwork: true
      containers:
      - name: nginx
        image: nginx

  2. 执行如下命令,创建一个Pod。
    kubectl apply -f host-network.yaml

  3. 执行如下命令,查看Pod的网络和其所在的Node网络是否一致。
    kubectl get pod -o wide
    当显示结果中,Pod的IP地址和宿主机的IP地址一致时,表示Host网络配置完成。

    NAME    READY   STATUS    RESTARTS   AGE   IP              NODE                           NOMINATED NODE
    nginx   1/1     Running   0          29s   192.168.XX.XX   cn-zhangjiakou.192.168.XX.XX   <none>