如何使用Azure CLI部署Azure Container App的vNext版本镜像
Azure Container Apps 基于Azure CLI的vNext镜像版本部署(修订模式实操)
前置准备
- 确保本地Azure CLI已安装containerapp扩展,未安装则先执行以下命令安装/升级:
az extension add --name containerapp --upgrade - 完成Azure账号登录并切换到容器应用所在的目标订阅:
az loginaz account set --subscription <你的订阅ID/订阅名称> - 按需配置修订模式:
- 如果需要保留旧版本支持灰度发布、快速回滚,将应用切换为多修订模式:
az containerapp revision set-mode --name <你的容器应用名称> --resource-group <资源组名称> --mode multiple - 如果不需要保留历史版本,保持默认的单修订模式即可,更新后会自动全量切换到新版本,旧修订自动回收。
- 如果需要保留旧版本支持灰度发布、快速回滚,将应用切换为多修订模式:
部署vNext镜像生成新修订
执行update命令指定vNext版本的镜像地址,执行完成后会自动基于新镜像生成独立的新修订版本,多修订模式下该操作不会影响当前线上运行的旧版本:az containerapp update --name <你的容器应用名称> --resource-group <资源组名称> --image <vNext版本镜像完整地址,示例:myacr.azurecr.io/demoapp:v2.0.0>
实用提示:如果不想用系统自动生成的随机后缀修订名,可以在上述命令中追加
--revision-suffix vnext参数,生成的修订名称会带上自定义后缀,方便后续识别管理。
注意:如果镜像存储在私有Azure容器注册表(ACR)中,无需重复传入拉取凭证,系统会沿用应用首次部署时配置的凭证拉取新镜像。
命令执行完成后返回结果中会包含新生成的修订名称,格式一般为<应用名>--<后缀>,请记录该名称用于后续流量配置。
流量切换配置
多修订模式下,新生成的修订默认分配0流量,不会承接用户请求,需要手动配置流量权重:
- 全量发布:将100%流量切到vNext版本
az containerapp ingress traffic set --name <你的容器应用名称> --resource-group <资源组名称> --revision-weight <新修订名称>=100 - 灰度发布:按比例分配流量,比如给新版本切20%流量做小流量验证,旧版本保留80%流量
az containerapp ingress traffic set --name <你的容器应用名称> --resource-group <资源组名称> --revision-weight <旧修订名称>=80 <新修订名称>=20
常用修订运维操作
- 查看所有修订的运行状态、流量占比、创建时间:
az containerapp revision list --name <你的容器应用名称> --resource-group <资源组名称> -o table - 新版本异常快速回滚:直接将100%流量切回已验证稳定的旧修订即可,无需重新部署镜像
az containerapp ingress traffic set --name <你的容器应用名称> --resource-group <资源组名称> --revision-weight <稳定旧修订名称>=100 - 确认新版本稳定运行后,停用无用的旧修订释放资源:
az containerapp revision deactivate --name <待停用的旧修订名称> --resource-group <资源组名称> --app <你的容器应用名称>
内容的提问来源于stack exchange,提问作者spottedmahn
相关产品推荐
相关产品推荐

