本文介绍如何识别并解决尝试在 Azure Kubernetes 服务(AKS)群集中添加 Windows 节点池时发生的“WINDOWS_CSE_ERROR_CHECK_API_SERVER_CONNECTIVITY”错误(5)。
先决条件
需要以下工具之一:
- 适用于 Windows 节点的 PowerShell 命令行 shell。
- 适用于 Linux 节点的 Netcat (
nc
) 命令行工具。
症状
尝试在 AKS 群集中添加 Windows 节点池时,会收到以下错误消息:
Code=“VMExtensionProvisioningError”
Message=“CSE Error: WINDOWS_CSE_ERROR_CHECK_API_SERVER_CONNECTIVITY”。”退出代码:5。 详细信息:无法建立从代理到 Kubernetes API 服务器的连接。
原因
群集节点无法连接到群集 API 服务器 Pod。
故障排除步骤
验证节点是否可以解析群集的完全限定域名(FQDN):
在现有 Windows 节点上运行以下命令:
Test-NetConnection -ComputerName <cluster-fqdn> -Port 443
或者,在现有 Linux 节点上运行以下命令:
nc -vz <cluster-fqdn> 443
如果命令输出显示
False
或Timeout
检查网络配置。 例如,检查是否在虚拟网络的网络安全组(NSG)中为 API 服务器设置“拒绝”规则。如果通过防火墙使用出口筛选,请确保允许发到群集 FQDN 的流量。
如果您已授权在群集上启用的 IP 地址,则可以阻止防火墙的出站 IP 地址。 在此方案中,必须将防火墙的出站 IP 地址添加到群集的授权 IP 范围列表中。 有关详细信息,请参阅 在 AKS中使用授权 IP 地址范围保护对 API 服务器的访问。
参考文献
第三方信息免责声明
本文讨论的第三方产品由独立于微软的公司制造。 Microsoft对这些产品的性能或可靠性不作任何明示或暗示的保证。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。