当节点标签具有 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.16 或更高版本。
- 在 1.16 或更高版本上添加新的节点池,而不添加不受支持的
kubernetes.io
标签。 - 删除较旧的节点池。
AKS 正在研究改变节点池上活动标签的功能,以改进这种缓解措施。
第三方信息免责声明
本文中提到的第三方产品由 Microsoft 以外的其他公司提供。 Microsoft 不对这些产品的性能或可靠性提供任何明示或暗示性担保。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。