排查 K8SAPIServerConnFailVMExtensionError 错误代码 (51)
本文讨论如何识别和解决K8SAPIServerConnFailVMExtensionError
错误 (也称为错误代码ERR_K8S_API_SERVER_CONN_FAIL、错误号 51) ,在尝试启动或部署 Microsoft Azure Kubernetes 服务 (AKS) 群集时发生。
先决条件
- Netcat (nc) 命令行工具
症状
尝试启动或创建 AKS 群集时,会收到以下错误消息:
无法建立从代理到 Kubernetes API 服务器的连接,有关详细信息,请参阅 https://aka.ms/aks-required-ports-and-addresses 。
详细信息:Code=“VMExtensionProvisioningError”
Message=“VM 在处理扩展'vmssCSE'时报告失败。
错误消息:“启用失败:无法执行命令:命令已终止,退出状态为 51\n[stdout]\n{
“ExitCode”: “51”,
“Output”:“周四 10 月 14 日 18:07:37 UTC 2021,aks-nodepool1-18315663-vmss000000\n连接到
原因
群集节点无法连接到群集 API 服务器 Pod。
解决方案
运行 Netcat 命令,验证节点是否可以解析群集的完全限定域名 (FQDN) :
nc -vz <cluster-fqdn> 443
如果使用通过防火墙的出口筛选,请确保允许流向群集 FQDN 的流量。
在极少数情况下,如果已授权群集上启用的 IP 地址,则可以阻止防火墙的出站 IP 地址。 在此方案中,必须将防火墙的出站 IP 地址添加到群集的授权 IP 范围列表中。 有关详细信息,请参阅 使用 AKS 中授权的 IP 地址范围保护对 API 服务器的访问。
更多信息
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈