每天5分钟玩转Kubernetes | Cluster IP底层实现

书籍来源:cloudman《每天5分钟玩转Kubernetes》

一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!


Cluster IP是一个虚拟IP,是由Kubernetes节点上的iptables规则管理的。

可以通过iptables-save命令打印出当前节点的iptables规则,因为输出较多,这里只截取与httpd-svc Cluster IP 10.106.95.163相关的信 息,如图所示。

d62ffb688769bdd869aa21911d6758c0.png

这两条规则的含义是:

(1)如果Cluster内的Pod(源地址来自10.244.0.0/16)要访问httpd-svc,则允许。

(2)其他源地址访问httpd-svc,跳转到规则KUBE-SVC-RL3JAE4GN7VOGDGP。KUBE-SVC-RL3JAE4GN7VOGDGP规则如图所示。

ba4e7df26e30d90b4e3b66c147627360.png

(1)1/3的概率跳转到规则KUBE-SEP-ZJDENNFOT4OXFPBZ。

(2)1/3的概率(剩下2/3的一半)跳转到规则KUBE-SEP-G4J5AUEMZM4N2VKT。

(3)1/3的概率跳转到规则KUBE-SEP-XVHRHMTO246ZGLUD。

上面三个跳转的规则如图所示。

5d670d66bf45a946cf48b161017dbf35.png

9edf29d6eebaa87a04faf01a8f8693b3.png

9f8a30163b0c2297bc94aa6b96fcb5eb.png

即将请求分别转发到后端的三个Pod。通过上面的分析,我们得到结论:iptables将访问Service的流量转发到后端Pod,而且使用类似轮询的负载均衡策略。

另外,需要补充一点:Cluster的每一个节点都配置了相同的iptables规则,这样就确保了整个Cluster都能够通过Service的Cluster IP访问Service,如图所示。

3b0a3185957ebf9f5c248b88f289a710.png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值