当前位置:   article > 正文

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

kubernetes clusterip

书籍来源: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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/764483
推荐阅读
相关标签
  

闽ICP备14008679号