azure - 避免 Azure Devops 中的专用规模集发生主机名冲突

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

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

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

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

最佳答案

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

作为停止虚拟机并对其进行镜像之前的最后一步,请在 PowerShell 中运行此命令

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

关于azure - 避免 Azure Devops 中的专用规模集发生主机名冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68505185/

相关文章:

.net - 使用 ADAL : Active Directory .Net Native Desktop 返回的 token 调用服务时出现未经授权的错误?

azure - Azure Application Insights 可用性测试中的漏报

Azure SQL DB 每日增长警报创建

azure - .Net 5 Azure App服务缺少依赖项

azure - 如何向SF VMSS添加数据盘?

azure - (AuthorizationFailed) 尝试从 Azure Devops 更新 containerApp 的镜像时出错

Azure 数据工厂事件在所有其他复制数据事件完成后执行

Azure Artifacts 在尝试构建 Dockerfile 时给出未经授权的信息

azure - 是否可以使用 Azure Devops API 访问组织范围的工件源?

azure - 如何使用 CLI 获取 VMSS 的私有(private) IP