![Azure VM 规模集:何时状态改变才被视为“完成”?](https://linux22.com/image/766300/Azure%20VM%20%E8%A7%84%E6%A8%A1%E9%9B%86%EF%BC%9A%E4%BD%95%E6%97%B6%E7%8A%B6%E6%80%81%E6%94%B9%E5%8F%98%E6%89%8D%E8%A2%AB%E8%A7%86%E4%B8%BA%E2%80%9C%E5%AE%8C%E6%88%90%E2%80%9D%EF%BC%9F.png)
我之所以询问是因为这与自动修复宽限期有关。
https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-automatic-instance-repairs#grace-period
当实例由于在规模集上执行 PUT、PATCH 或 POST 操作(例如重新映像、重新部署、更新等)而经历状态更改操作时,只有在等待宽限期后才会对该实例执行任何修复操作。宽限期是允许实例恢复到健康状态的时间量。宽限期在状态更改完成后开始。
我们使用库存图像,然后使用自定义脚本扩展来配置机器。这些脚本需要很长时间,大约 30 分钟。我发现当自定义脚本抛出错误时,虚拟机创建就会被标记为失败。
我不清楚的是这些自定义脚本的运行时间是否包含在“状态改变”中。
有人测试过这个吗?有没有相关文档?
答案1
规模集的状态完全取决于健康探测配置完毕。如果您的应用程序/服务需要等待脚本运行才能使用,那么此时状态将变为健康。
因此,当应用程序可访问时,VMSS 被视为完全部署。