Skip to content

相同点:

  1. hostPorthostNetwork 本质上都是终端用户能访问到pod中的业务
  2. 访问的时候,只能用 pod所有宿主机IP + 容器端口或hostport端口 进行访问

不同点:

  1. 网络地址空间不同。hostport使用CNI分配的地址,hostNetwork使用宿主机网络地址空间
  2. 宿主机端口生成。hostport宿主机不生成端口,hostNetwork宿主机生成端口
  3. hostport通过iptable防火墙的nat表进行转发,hostNetwork直接通过主机端口到容器中
  4. 定义的路径不同。deploy.spec.template.spec.containers.ports.hostPort 与 deploy.spec.template.spec.hostNetwork
  5. 优先级不同,hostNetwork 高于 hostPort

hostPort

bash
kubectl get pod -owide

iptables -Lnv -t nat |grep pod_ip
kubectl get pod -owide

iptables -Lnv -t nat |grep pod_ip

hostNetwork