Docker网络模型
-
Bridge网络,自由网络名称空间
-
Joined网络,共享使用另外一个容器的网络名称空间
-
Open网络,容器直接共享使用宿主机的网络名称空间
-
None网络(Close),不使用任何网络名称空间

Kubernetes网络通信
-
容器间通信:同一个pod内的多个容器间的通信,lo接口;
-
Pod间通信:Pod IP <—> Pod IP;(所见即所得,无NAT)
-
Pod与service之间的通信;Pod IP <—> Cluster IP;根据IPtables和IPVS规则来实现;
(注:通过命令
kubectl get configmap kube-proxy -o yaml -n kube-system查看kube-proxy中mode是IPVS,还是iptables;) -
Service与集群外部服务端或者客户端通信;(Ingress,Nodeport,Loadbalancer亦可)
Kubernetes本身不提供网络方案,需要通过各种CNI(Container Network Interface)来配套实现;
CNI种类
Flannel,可以提供网络管理和网络地址分配等功能;
优点:简单;缺点:无法提供网络策略,即NetworkPolicy

本文详细介绍了Docker网络模型,包括Bridge、Joined、Open和None模式,以及Kubernetes中的网络通信机制,如容器间通信、Pod通信和服务外部通信。重点讲解了Flannel、Calico和Kube-router等CNI类型的优缺点。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



