Docker 需要帮助以虚拟机配置重新映像Azure批处理池中的现有Azure节点吗

Docker 需要帮助以虚拟机配置重新映像Azure批处理池中的现有Azure节点吗,docker,azure-virtual-machine,continuous-deployment,azure-resource-manager,azure-batch,Docker,Azure Virtual Machine,Continuous Deployment,Azure Resource Manager,Azure Batch,是否有人建议如何在我的Azure批处理池帐户中重新映像Linux节点,而不将其大小调整为0,然后重新调整为N,或者删除池并再次创建它 或者这是推荐的最佳实践 更多详情: 我在重新映像azure节点时遇到问题。当我更新docker映像并使用ARM模板重新部署时,该节点并没有提取最新的docker映像。我想这可能是因为图像名称相同(我总是想要最新的图像) 我试过使用: 重置AzureBatchComputeNode,但这在fiddler上给了我以下错误“只能在使用cloudServiceConfig

是否有人建议如何在我的Azure批处理池帐户中重新映像Linux节点,而不将其大小调整为0,然后重新调整为N,或者删除池并再次创建它

或者这是推荐的最佳实践

更多详情:

我在重新映像azure节点时遇到问题。当我更新docker映像并使用ARM模板重新部署时,该节点并没有提取最新的docker映像。我想这可能是因为图像名称相同(我总是想要最新的图像)

我试过使用:

重置AzureBatchComputeNode,但这在fiddler上给了我以下错误“只能在使用cloudServiceConfiguration创建的池上调用操作重新映像”。我无法使用云服务配置,因为该机器需要是Linux机器

重新启动AzureBatchComputeNode,但这只会重新启动节点,而不会重新对其进行映像

我可能只需要核化节点(调整为0,然后根据需要再次旋转),或者简单地删除池,然后重新设置。但这些看起来像是“核心”选项,批处理服务将关闭,直到节点再次启动

用于部署/更新批处理池的arm模板

{
      "name": "[concat(parameters('batchAccountName'), '/<pool-name>')]",
      "type": "Microsoft.Batch/batchAccounts/pools",
      "apiVersion": "2018-12-01",
      "properties": {
        "vmSize": "[parameters('vmSize')]",
        "deploymentConfiguration": {
          "virtualMachineConfiguration": {
            "nodeAgentSkuId": "batch.node.ubuntu 16.04",
            "imageReference": {
              "publisher": "microsoft-azure-batch",
              "offer": "ubuntu-server-container",
              "sku": "16-04-lts",
              "version": "latest"
            },
            "containerConfiguration": {
              "type": "DockerCompatible",
              "containerImageNames": [
                "[concat(parameters('containerRegistryServer'), '/<container-name>')]"
              ],
              "containerRegistries": [
                <credentials>
              ]
            }
          }
        },
        "scaleSettings": {
          "fixedScale": {
            "targetDedicatedNodes": "[parameters('targetDedicatedNodes')]"
          }
        }
      },
      "dependsOn": [
        "[resourceId('Microsoft.Batch/batchAccounts', parameters('batchAccountName'))]"
      ]
    },

目前,不支持在基于虚拟机配置的池上执行重新映像操作。请看


您可以通过调用cmdlet模拟重新映射一组节点,然后将其大小调整回所需大小。

请注意,
Remove AzureBatchComputeNode
可以获取节点列表。最好将删除的内容批处理在一起,并调整一次大小。这样,您将更快地达到目标状态。另外,您应该考虑使用启动任务来始终在图像上发布坞站拖拽。这样,您就可以重新启动节点,而不是使用此方法。还有其他替代方案,如通过作业准备发出docker pull运行多实例无操作任务。谢谢@fpark!我喜欢你关于启动任务的建议。我将在下一步研究它,并更新此,如果该路径最终对我有效。但是-我不想将大小调整为0并返回到N,因为这意味着我们的作业池在一段时间内不可用。我更希望节点是可用的(即使它们已经过时),这样作业可以在新模型应用于节点时运行