You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure 虚拟机规模集(VMSS)应用代码更新部署方案咨询

VMSS 站点代码部署方案

针对你的现有架构和需求,以下是两类可行的方案,你可以根据自己的运维习惯选择:

最小改动方案(无需新增工具,完全复用现有逻辑)

这是成本最低、适配最快的方案,几乎不需要修改你已经跑通的更新流程:

  • 保留你现有针对单个站点的更新 Bash 脚本,将脚本和 Git 仓库配置直接内置到你制作 VMSS 的基础镜像中,各个站点的独立目录结构和 Nginx 配置完全沿用单VM时期的逻辑即可
  • 把原有的 cron 定时自动拉取逻辑改为按需触发,匹配你需要先做手动调整的发布要求
  • 需要更新指定站点时,直接通过 Azure CLI 的 az vmss run-command invoke 命令,批量在所有 VMSS 实例上执行对应站点的更新脚本,示例命令如下:
# 触发所有VMSS实例执行站点1的更新脚本
az vmss run-command invoke \
  --resource-group <你的资源组名称> \
  --name <你的VMSS集群名称> \
  --command-id RunShellScript \
  --scripts "/opt/site-scripts/update-site1.sh"
  • 优势:不需要引入额外的CI/CD工具,手动调整步骤可以直接集成到对应站点的更新脚本中,天然支持单站点独立更新,不需要全量发布。

Azure 原生标准方案(适合后续扩容、需要发布管控的场景)

如果你需要更规范的发布流程、灰度发布能力,可以采用Azure原生的扩展+滚动更新方案:

  • 将各个站点的更新脚本/发布包提前上传到Azure存储账户的私有容器中,完成客户要求的手动调整后再上传最终版本
  • 给VMSS配置自定义脚本扩展,指定拉取存储账户中对应站点的更新脚本执行
  • 触发VMSS滚动更新,Azure会自动按批次逐个更新实例,更新过程中应用网关会自动切走正在更新实例的流量,不会影响业务可用性
  • 同样支持单站点独立更新,仅需要指定对应站点的更新脚本即可,不会修改其他站点的文件。

注意事项

  • 两种方案都建议在发布前先对VMSS做一次镜像备份,出现发布问题时可以快速回滚
  • 如果你需要保留实例本地的自定义修改,确保VMSS的升级策略没有配置为重新镜像模式,避免实例被重置导致修改丢失
  • 你的SSL已经在应用网关层终结,VMSS实例侧的Nginx配置不需要做任何调整,直接复用单VM时期的配置即可。

内容的提问来源于stack exchange,提问作者DLB555

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 08:54:00