当节点标签具有 kubernetes.io 前缀时,升级到 Kubernetes 1.16 失败

本文讨论在使用具有 kubernetes.io 前缀的节点标签时,如何排查升级到 Kubernetes 1.16 失败的问题。

症状

升级到 Kubernetes 1.16 的尝试失败,并且使用的是具有前缀的 kubernetes.io 标签。

原因

从 Kubernetes 1.16 开始,kubelet 只能将 具有 kubernets.io 前缀的已定义的标签子集 应用于节点。 未经你同意,Microsoft Azure Kubernetes 服务 (AKS) 无法代表你删除活动标签,因为这可能会导致受影响的工作负载停机。

解决方案

若要缓解此问题,请执行以下操作:

  1. 将群集控制平面升级到 1.16 或更高版本。
  2. 在 1.16 或更高版本上添加新的节点池,而不添加不受支持的 kubernetes.io 标签。
  3. 删除较旧的节点池。

AKS 正在研究改变节点池上活动标签的功能,以改进这种缓解措施。

第三方信息免责声明

本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。