相同点:
hostPort
与hostNetwork
本质上都是终端用户能访问到pod中的业务- 访问的时候,只能用
pod所有宿主机IP + 容器端口或hostport端口
进行访问
不同点:
- 网络地址空间不同。hostport使用CNI分配的地址,hostNetwork使用宿主机网络地址空间
- 宿主机端口生成。hostport宿主机不生成端口,hostNetwork宿主机生成端口
- hostport通过iptable防火墙的nat表进行转发,hostNetwork直接通过主机端口到容器中
- 定义的路径不同。deploy.spec.template.spec.containers.ports.hostPort 与 deploy.spec.template.spec.hostNetwork
- 优先级不同,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