【问题标题】:Avoid Hostname Collisions With Specialized ScaleSets in Azure Devops避免与 Azure Devops 中的专用 ScaleSet 发生主机名冲突
【发布时间】:2021-09-30 22:27:31
【问题描述】:

我在 Azure 中使用安装了一些自定义软件堆栈的专用 Windows 10 映像创建了一个规模集。

当我尝试对此运行管道作业时,一切似乎都运行良好,直到代理突然被 Azure Devops 杀死为不健康。虽然我尝试了几件事,但我观察到,这种任意杀戮在某种程度上与在规模集上运行第二份工作相关。我的猜测是,Azure Devops 无法处理具有相同计算机名称的多个代理,默认情况下,当我从专门的 Azure VM 映像创建 ScaleSet 时就是这种情况。

是否有任何解决方法,或者 Azure Devops 是否仅支持来自通用 VM 的 ScaleSet? 我实际上尝试使用 VMSS 的自定义脚本扩展来更改主机名,但我没有让它工作。

【问题讨论】:

  • 在创建映像之前您是否sysprep系统?

标签: azure azure-devops azure-vm-scale-set


【解决方案1】:

正如@JohnHanley 所提到的,您需要在对 VM 进行映像之前运行 sysprep 命令。您可以使用非通用图像,但正如您所指出的,它还包含机器名称并且不应用前缀。

作为停止 VM 并对其进行映像之前的最后一步,在 PowerShell 中运行它

$sysprepPath = $env:windir + "\system32\sysprep\sysprep.exe"
Start-Process -FilePath $sysprepPath -ArgumentList "/generalize /oobe /quit /quiet" -Verb RunAs -Wait  

【讨论】:

  • 这基本上就是微软所说的“概括”VM,不是吗?或者它与泛化 VM 有什么不同?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
  • 1970-01-01
  • 2011-01-20
  • 2019-10-04
  • 1970-01-01
  • 1970-01-01
  • 2012-07-21
相关资源
最近更新 更多