AKS集群实例元数据与工作节点标签可用区信息不一致问题咨询
AKS节点标签与元数据API返回可用区值差异的原因
该差异是两类接口的设计规范不同导致的,本质上两者的可用区标识完全对应,不存在数据错误:
- Azure实例元数据服务(IMDS)返回的
compute/zone是Azure底层为虚拟机分配的可用区原生标识,格式为纯数字,仅代表当前区域下的可用区序号,你示例中返回的1就代表eastus区域下的1号可用区,也就是你确认的正确标识。 - Kubernetes的标准拓扑标签
topology.kubernetes.io/zone要求值必须包含区域维度,避免跨区域部署的集群中,不同区域的同编号可用区产生冲突。AKS的kubelet组件在节点注册到集群时,会自动将IMDS获取的区域名(你示例中为eastus)和可用区编号(你示例中为1)做拼接,生成{区域名}-{可用区编号}格式的标签值,所以你查询到的标签值为eastus-1。
你可以直接提取节点标签值中-后的数字,和IMDS返回的可用区编号做校验,两者完全一致。
内容的提问来源于stack exchange,提问作者user3435964
相关产品推荐
相关产品推荐

