本文介绍如何识别和解决 OrasPullNetworkTimeoutVMExtensionError 尝试创建和部署 Microsoft Azure Kubernetes 服务(AKS)群集时发生的错误(错误代码 211)。
症状
尝试创建出站类型为 none 或 block 的 AKS 群集时,您会收到以下错误消息:
VMExtensionProvisioningError:VM 在处理扩展“vmssCSE”时报告了失败。
错误消息:“启用失败:无法执行命令:命令已终止,退出状态=211
无法访问 Bootstrap 容器注册表。 请检查网络配置,然后重试。
原因
对于 网络隔离群集,出口流量受到限制。 此功能引入了专用 Azure 容器注册表(ACR)缓存,该缓存充当代理,在 AKS 引导过程中从 Microsoft Artifact Registry(MAR)下载必要的二进制文件或映像。 VM 实例通过专用链接连接到专用 ACR。 专用链接的配置不正确会导致 VM 启动自定义脚本扩展 (CSE) 失败。
解决方案
若要解决此问题,请执行以下步骤:
运行以下命令,检索 AKS 用作引导 ACR 的 ACR 资源 ID:
az aks show -g ${RESOURCE_GROUP} -n ${CLUSTER_NAME} --query 'bootstrapProfile.containerRegistryResourceId'验证 ACR 缓存规则。 它应包含
aks-managed-rule源存储库mcr.microsoft.com/*和目标存储库aks-managed-repository/*。 确保源或目标存储库*不存在其他缓存规则,该规则将替代aks-managed-rule。查看 容器注册表专用链接 ,确保连接配置正确,包括专用域名系统(DNS)区域和专用链接。
使用安全外壳(SSH)访问任何失败的 VM 实例,并在 ACR 主机上运行 curl。 如果成功,请修复群集。 如果仍然失败,请返回到步骤 3。
参考文献
联系我们以获得帮助
如果有疑问,可以询问 Azure 社区支持。 您还可以向Azure反馈社区提交产品反馈。