排查WINDOWS_CSE_ERROR_CHECK_API_SERVER_CONNECTIVITY错误代码(5)

本文介绍如何识别并解决尝试在 Azure Kubernetes 服务(AKS)群集中添加 Windows 节点池时发生的“WINDOWS_CSE_ERROR_CHECK_API_SERVER_CONNECTIVITY”错误(5)。

先决条件

需要以下工具之一:

  • 适用于 Windows 节点的 PowerShell 命令行 shell。
  • 适用于 Linux 节点的 Netcatnc) 命令行工具。

症状

尝试在 AKS 群集中添加 Windows 节点池时,会收到以下错误消息:

Code=“VMExtensionProvisioningError”
Message=“CSE Error: WINDOWS_CSE_ERROR_CHECK_API_SERVER_CONNECTIVITY”。”退出代码:5。 详细信息:无法建立从代理到 Kubernetes API 服务器的连接。

原因

群集节点无法连接到群集 API 服务器 Pod。

故障排除步骤

  1. 验证节点是否可以解析群集的完全限定域名(FQDN):

    在现有 Windows 节点上运行以下命令:

    Test-NetConnection -ComputerName <cluster-fqdn> -Port 443
    

    或者,在现有 Linux 节点上运行以下命令:

    nc -vz <cluster-fqdn> 443
    
  2. 如果命令输出显示 FalseTimeout检查网络配置。 例如,检查是否在虚拟网络的网络安全组(NSG)中为 API 服务器设置“拒绝”规则。

  3. 如果通过防火墙使用出口筛选,请确保允许发到群集 FQDN 的流量。

  4. 如果您已授权在群集上启用的 IP 地址,则可以阻止防火墙的出站 IP 地址。 在此方案中,必须将防火墙的出站 IP 地址添加到群集的授权 IP 范围列表中。 有关详细信息,请参阅 在 AKS中使用授权 IP 地址范围保护对 API 服务器的访问。

参考文献

AKS 群集创建问题的常规故障排除

第三方信息免责声明

本文讨论的第三方产品由独立于微软的公司制造。 Microsoft对这些产品的性能或可靠性不作任何明示或暗示的保证。

联系我们寻求帮助

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