【发布时间】:2020-11-28 08:19:06
【问题描述】:
我正在努力让我的 Azure 批处理节点在配置为使用虚拟网络的池中启动。虚拟网络已配置一个服务终结点策略,该策略具有“Microsoft.Storage”策略定义并指向单个存储帐户。如果没有在虚拟网络上定义服务终结点,Azure 批处理池会按预期工作,但是会出现以下错误并且节点永远不会启动。
我已尝试在两种池分配模式下创建 Batch 帐户。这似乎没有什么区别,池成功调整大小,然后节点卡在“启动”模式。在“用户订阅”模式下,我发现启动错误,因为我可以在我的帐户中看到 VM 实例:
VM 在处理扩展“batchNodeExtension”时报告失败。错误消息:“启用失败:处理文件下载失败:下载文件失败 [0]:下载文件失败:意外状态代码:实际 = 403 预期 = 200” 有关故障排除的更多信息,请访问 https://aka.ms/VMExtensionCSELinuxTroubleshoot
据我所知,这是一个正在运行的 Azure VM 扩展,用于为 Azure Batch 配置 VM。我的基础镜像是 Canonical、ubuntuserver、18.04-lts (batch.node.ubuntu 18.04)。我可以看到扩展程序正在尝试从以下位置下载:
https://a52a7f3c745c443e8c2cac69.blob.core.windows.net/nodeagentpackage-version9-22-0-2/Ubuntu-18.04/batch_init-ubuntu-18.04-1.8.7.tar.gz(注意我从这个 URL 中删除了 SAS 令牌以便在此处发布)
还有 8 个文件被下载,看起来这是在节点上配置批处理代理。
403 错误表示节点无法连接到此存储帐户,考虑到服务端点策略,这很有意义。它不包含此存储帐户,并且此存储帐户在我的 Azure 订阅之外。我认为我可以将它添加到服务端点策略中,但我无法确定它属于哪个 Azure 订阅。如果我知道这一点,我想我可以像这样添加它:
终结点策略允许您使用 resourceID 格式将特定 Azure 存储帐户添加到允许列表。您可以限制对订阅中所有存储帐户的访问 例如。 /subscriptions/subscriptionId(来自https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-service-endpoint-policies-overview)
我尝试使用 Azure 存储的服务标签添加安全组规则,但这没有帮助。节点仍然无法连接,考虑到服务端点策略的描述,这是有道理的。
我对此感兴趣的原因是以下帖子: [https://github.com/Azure/Batch/issues/66][1]
我正在尝试通过使用服务端点来最小化我的存储帐户的带宽费用。
我也尝试过创建自己的虚拟机,但我不确定“batchNodeExtension”脚本是否会为您与 Batch 一起使用的虚拟机自动运行。
我非常感谢任何指点,因为我已经没有想法可以尝试了!
【问题讨论】:
标签: azure azure-storage azure-virtual-network azure-batch