- 2
- 0
- 约5.15千字
- 约 13页
- 2021-06-05 发布于湖南
- 举报
浅谈 Kubernetes 中的服务发现
Kubernetes 服务发现是一个经常让我产生困惑的主题之一。本文分为两个部分:
网络方面的背景知识
深入了解 Kubernetes 服务发现
要了解服务发现,首先要了解背后的网络知识。这部分内容相对浅显,如果读者熟知这一部分,完全可以跳过,直接阅读服务发现部分。
开始之前还有一个需要提醒的事情就是,为了详细描述这一过程,本文略长。
Kubernetes 网络基础
要开始服务发现的探索之前,需要理解以下内容:
Kubernetes 应用运行在容器之中,容器处于 Pod 之内。
每个 Pod 都会附着在同一个大的扁平的 IP 网络之中,被称为 Pod 网络(通常是 VXLAN 叠加网络)。
每个 Pod 都有自己的唯一的 IP 地址,这个 IP 地址在 Pod 网络中是可路由的。
上述三个因素结合起来,让每个应用(应用的组件和服务)无需通过 NAT 之类的网络过程,就能够直接通信。
动态网络
在对应用进行横向扩容时,会在 Pod 网络中加入新的 Pod,新 Pod 自然也伴随着新的 IP 地址;如果对应用进行缩容,旧的 Pod 及其 IP 会被删除。这个过程看起来很是混乱。
应用的滚动更新和撤回也存在同样的情形——加入新版本的新 Pod,或者移除旧版本的旧 Pod。新 Pod 会加入新 IP 到 Pod 网络中,被终结的旧 Pod 会删除其
原创力文档

文档评论(0)