首页 > 其他 > 详细

k8s ipvs+flannel+vxlan模式下的网络

时间:2021-06-22 15:08:55      阅读:30      评论:0      收藏:0      [点我收藏+]

10.229.0.0/16 SVC IP
10.249.0.0/16 POD IP

跨主机的POD间通信

此处以dns为例

技术分享图片

从容器出来到cni.0的包,src是pod IP,dst 是svc ip

技术分享图片

从flannel.1发的包,dst已经被ipvs模块更换成实际endpoint ip

技术分享图片

在eth0上抓的包,dns包已经被打包入 vxlan中。

技术分享图片

从host到跨主机pod的通信

技术分享图片
nat表的OUTPUT链会把出向的dst为ipset KUBE-CLUSTER-IP,src不为10.249.0.0/16打标记0x4000(即所有不是从pod ip访问svc IP的流量打标)
-A OUTPUT -m comment --comment "kubernetes service portals" -j KUBE-SERVICES
-A KUBE-SERVICES ! -s 10.249.0.0/16 -m comment --comment "Kubernetes service cluster ip + port for masquerade purpose" -m set --match-set KUBE-CLUSTER-IP dst,dst -j KUBE-MARK-MASQ
-A KUBE-MARK-MASQ -j MARK --set-xmark 0x4000/0x4000
放行打标的流量
-A FORWARD -m comment --comment "kubernetes forwarding rules" -j KUBE-FORWARD
-A KUBE-FORWARD -m comment --comment "kubernetes forwarding rules" -m mark --mark 0x4000/0x4000 -j ACCEPT
对打标的流量作nat,nat之后的ip为flannel网卡的ip地址
-A KUBE-POSTROUTING -m comment --comment "kubernetes service traffic requiring SNAT" -m mark --mark 0x4000/0x4000 -j MASQUERADE
技术分享图片
流量从falnnel网卡出,只能在flannel网卡抓到包
技术分享图片

k8s ipvs+flannel+vxlan模式下的网络

原文:https://www.cnblogs.com/yangras/p/14917989.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!