Networking 使用yaml在K8s中不同集群中的POD之间进行通信
是否有人能提供参考/基本想法,说明如何在不同集群中的POD之间进行通信。Networking 使用yaml在K8s中不同集群中的POD之间进行通信,networking,kubernetes,google-kubernetes-engine,amazon-eks,Networking,Kubernetes,Google Kubernetes Engine,Amazon Eks,是否有人能提供参考/基本想法,说明如何在不同集群中的POD之间进行通信。 假设集群A有Pod A,集群B有Pod B,那么我们如何确保Pod A可以使用yaml与Pod B通信-提前感谢将此答案作为社区wiki发布,以提高可视性,并在用户@David Maze的评论中发布解决方案时添加一些其他资源: 如果POD位于不同的集群中,它们就不能直接相互通信(不使用NodePort或LoadBalancer服务,或者从其集群外部访问目标服务) 对于最常见的设置,通过Cluster1与Pod2与Clus
假设集群A有Pod A,集群B有Pod B,那么我们如何确保Pod A可以使用yaml与Pod B通信-提前感谢将此答案作为社区wiki发布,以提高可视性,并在用户@David Maze的评论中发布解决方案时添加一些其他资源:
如果POD位于不同的集群中,它们就不能直接相互通信(不使用NodePort或LoadBalancer服务,或者从其集群外部访问目标服务)
对于最常见的设置,通过
Cluster1
与Pod2
与Cluster2
进行通信的方式是:
节点端口类型的
服务
负载平衡器类型的
服务
资源-特定于入口
/HTTP
流量HTTPS
GKE
、AKS
、EKS
等云解决方案,您可以使用LoadBalancer
或ingres
资源的服务类型将流量定向到您的pod
对于裸机解决方案,您需要使用其他工具,如metallib
来使用负载平衡器类型的服务
您还可以查看以下资源:
例如,假设您有2个Kubernetes集群,它们可以使用
LoadBalancer
类型的服务公开流量
在第一个群集上应用:
apiVersion:apps/v1
种类:部署
元数据:
名称:nginx部署
规格:
选择器:
火柴标签:
app:nginx
副本:3份
模板:
元数据:
标签:
app:nginx
规格:
容器:
-姓名:nginx
图片:nginx
端口:
-集装箱港口:80
---
版本:v1
种类:服务
元数据:
名称:nginx服务
规格:
选择器:
app:nginx
端口:
-协议:TCP
港口:80
目标港:80
类型:负载平衡器
检查与服务相关的EXTERNAL-IP
:
$kubectl获取服务nginx服务
名称类型群集IP外部IP端口
nginx服务负载平衡器10.92.10.48 A.B.C.D 80:30994/TCP 26s
切换到第二个群集并运行:
$kubectl run-it ubuntu--image=ubuntu--/bin/bash
$apt更新和apt安装curl
$curl A.B.C.D
感谢您使用nginx
额外资源:
- -可能有点特定于GKE