Kubernetes 服务网络通信全解析
1. Pod 间流量路由
在 Kubernetes 中,服务发现的基本概念是部署一个服务资源,并使用服务的名称作为组件通信的域名。不同类型的服务支持不同的网络模式,但使用方式相同。
Kubernetes 中默认的服务类型是 ClusterIP,它会创建一个集群范围内的 IP 地址,任何节点上的 Pod 都可以访问该地址。不过,这个 IP 地址仅在集群内部有效,因此 ClusterIP 服务仅适用于 Pod 之间的通信,这对于某些组件是内部组件且不应在集群外部访问的分布式系统来说非常合适。
下面通过一个简单的网站示例来演示,该网站使用内部 API 组件:
1. 运行部署 :运行两个部署,一个用于 Web 应用程序,另一个用于 API。此时应用程序没有服务,由于网站无法找到 API,所以无法正常工作。
# 分别运行网站和 API 的部署
kubectl apply -f numbers/api.yaml -f numbers/web.yaml
# 等待 Pod 准备就绪
kubectl wait --for=condition=Ready pod -l app=numbers-web
# 将端口转发到 Web 应用程序
kubectl port - forward deploy/numbers - web 8080:80
然后在浏览器中访问 http://localhost:8080 并点击“Go”按钮,会看到错误消息。按 ctrl -
超级会员免费看
订阅专栏 解锁全文
915

被折叠的 条评论
为什么被折叠?



