EKS - 从 pod 内部获取 pod 部署的可用区。

0

【以下的问题经过翻译处理】 在我的EKS集群中,我有几个节点组覆盖可用区A和B。运行在节点上的Pod是各种Kafka主题(MSK)的消费者/生产者。Pod之间没有内部通信。

我在MSK集群中有两个代理,其中有一个在每个可用区中给pod使用。

我担心由于Pod可以部署在任何可用区,因此我可能会无意中被收取可用区之间传输的数据的费用,因为Pod对其要与哪个代理进行通信没有偏好。

为了避免这种情况,我考虑让Pod在启动后选择要与之通信的代理服务器,并且为此,它需要知道已部署的基础节点所在的可用区。

我原本认为可以像任何其他规范字段一样从部署中获取区域信息,例如https://docs.microsoft.com/zh-cn/answers/questions/330925/how-can-a-pod-know-which-availability-zone-it-locates-in-when-deployed-in-a-kubernetes-cluster.html,但那不是有效的字段。

我尝试过像下面链接中提到的那样访问ec2元数据ip地址,但由于它是在节点上具有自己IP的Pod,我假设此机制不起作用:https://www.quora.com/How-do-I-find-out-in-which-availability-zone-a-AWS-EC2-server-is

列在https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#podspec-v1-core中的字段都似乎没有任何可识别这一点的字段。

有没有什么方法可以做到这一点?或者有更好的方法来联网Pod/节点组?

profile picture
EXPERTE
gefragt vor 5 Monaten25 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 EC2实例元数据服务v2可用于获取AZ详细信息。Amazon EKS支持使用IMDSv2格式访问实例元数据的容器。https://aws.amazon.com/about-aws/whats-new/2020/08/amazon-eks-supports-ec2-instance-metadata-service-v2/

profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen