「网络拓扑」Kubernetes 网络模型来龙去脉( 四 )
4. ExternalName摈弃内部机制 , 依赖外部设施 , 比如某个用户特别强 , 他觉得我们提供的都没什么用 , 就是要自己实现 , 此时一个 Service 会和一个域名一一对应起来 , 整个负载均衡的工作都是外部实现的 。
下图是一个实例 。 它灵活地应用了 ClusterIP、NodePort 等多种服务方式 , 又结合了云厂商的 ELB , 变成了一个很灵活、极度伸缩、生产上真正可用的一套系统 。
本文插图
首先我们用 ClusterIP 来做功能 Pod 的服务入口 。 大家可以看到 , 如果有三种 Pod 的话 , 就有三个 Service Cluster IP 作为它们的服务入口 。 这些方式都是 Client 端的 , 如何在 Server 端做一些控制呢?
首先会起一些 Ingress 的 Pod(Ingress 是 K8s 后来新增的一种服务 , 本质上还是一堆同质的 Pod) , 然后将这些 Pod 组织起来 , 暴露到一个 NodePort 的 IP , K8s 的工作到此就结束了 。
任何一个用户访问 23456 端口的 Pod 就会访问到 Ingress 的服务 , 它的后面有一个 Controller , 会把 Service IP 和 Ingress 的后端进行管理 , 最后会调到 ClusterIP , 再调到我们的功能 Pod 。 前面提到我们去对接云厂商的 ELB , 我们可以让 ELB 去监听所有集群节点上的 23456 端口 , 只要在 23456 端口上有服务的 , 就认为有一个 Ingress 的实例在跑 。
【「网络拓扑」Kubernetes 网络模型来龙去脉】整个的流量经过外部域名的一个解析跟分流到达了云厂商的 ELB , ELB 经过负载均衡并通过 NodePort 的方式到达 Ingress , Ingress 再通过 ClusterIP 调用到后台真正的 Pod 。 这种系统看起来比较丰富 , 健壮性也比较好 。 任何一个环节都不存在单点的问题 , 任何一个环节也都有管理与反馈 。
本文总结
本节课的主要内容就到此为止了 , 这里为大家简单总结一下:
- 大家要从根本上理解 Kubernetes 网络模型的演化来历 , 理解 PerPodPerIP 的用心在哪里;
- 网络的事情万变不离其宗 , 按照模型从 4 层向下就是发包过程 , 反正层层剥离就是收包过程 , 容器网络也是如此;
- Ingress 等机制是在更高的层次上(服务端口)方便大家部署集群对外服务 , 通过一个真正可用的部署实例 , 希望大家把 Ingress+Cluster IP + PodIP 等概念联合来看 , 理解社区出台新机制、新资源对象的思考 。
推荐阅读
- 工业互联网@程序员的术与道:术——编程基本功之网络编程
- 澳门@打击贷款类电信网络诈骗犯罪,公安机关一网下去,抓了798人!
- 网络赌博:5大计划单列市首季,深圳厦门惊喜,青岛超过宁波,一项指标超高
- 央视开放网络售票,印度铁路拟分阶段恢复客运列车运营
- 于老师讲娱乐主持人和网络歌手的相遇,会有怎样的火花,甜甜的恋爱气息
- 科技曰报沈郎乡 侠天下 网红餐厅汤系火锅 尤溪桂峰4A景区,凤槿网络
- 定西公安姜春煌主持召开党委会专题研究打击治理电信网络新型违法犯罪工作
- 一人笔记怎么才能让年轻人喜欢书法?,《书法问集》674、网络社会的今天
- 「客户端」学习网络编程,不了解TCP协议?难怪面试被刷下去,还不来学习!
- 红网国网湖南电力扶贫记丨贫困村首次“触电” 网络直播1小时“带货”3600单
