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

Posted COCOgsta

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了每天5分钟玩转Kubernetes | Cluster IP底层实现相关的知识,希望对你有一定的参考价值。

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

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


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

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

这两条规则的含义是:

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

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

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

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

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

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

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

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

以上是关于每天5分钟玩转Kubernetes | Cluster IP底层实现的主要内容,如果未能解决你的问题,请参考以下文章

每天5分钟玩转Kubernetes | Kubernetes Dashboard安装

每天5分钟玩转Kubernetes | Deployment

每天5分钟玩转Kubernetes | Heapster

每天5分钟玩转Kubernetes | Deployment

每天5分钟玩转Kubernetes | 先把Kubernetes跑起来

每天5分钟玩转Kubernetes | Network Policy