部署 AKS 群集时,OrasPullNetworkTimeoutVMExtensionError 错误代码 (211)

本文介绍如何识别和解决 OrasPullNetworkTimeoutVMExtensionError 尝试创建和部署 Microsoft Azure Kubernetes 服务(AKS)群集时发生的错误(错误代码 211)。

症状

尝试创建出站类型为 noneblock 的 AKS 群集时,您会收到以下错误消息:

VMExtensionProvisioningError:VM 在处理扩展“vmssCSE”时报告了失败。

错误消息:“启用失败:无法执行命令:命令已终止,退出状态=211

无法访问 Bootstrap 容器注册表。 请检查网络配置,然后重试。

原因

对于 网络隔离群集,出口流量受到限制。 此功能引入了专用 Azure 容器注册表(ACR)缓存,该缓存充当代理,在 AKS 引导过程中从 Microsoft Artifact Registry(MAR)下载必要的二进制文件或映像。 VM 实例通过专用链接连接到专用 ACR。 专用链接的配置不正确会导致 VM 启动自定义脚本扩展 (CSE) 失败。

解决方案

若要解决此问题,请执行以下步骤:

  1. 运行以下命令,检索 AKS 用作引导 ACR 的 ACR 资源 ID:

    az aks show -g ${RESOURCE_GROUP} -n ${CLUSTER_NAME} --query 'bootstrapProfile.containerRegistryResourceId'
    
  2. 验证 ACR 缓存规则。 它应包含 aks-managed-rule 源存储库 mcr.microsoft.com/* 和目标存储库 aks-managed-repository/*。 确保源或目标存储库 *不存在其他缓存规则,该规则将替代 aks-managed-rule

  3. 查看 容器注册表专用链接 ,确保连接配置正确,包括专用域名系统(DNS)区域和专用链接。

  4. 使用安全外壳(SSH)访问任何失败的 VM 实例,并在 ACR 主机上运行 curl。 如果成功,请修复群集。 如果仍然失败,请返回到步骤 3。

参考文献

联系我们以获得帮助

如果有疑问,可以询问 Azure 社区支持。 您还可以向Azure反馈社区提交产品反馈。