Azure容器应用标签部署模式报错:需为活动修订版配置流量权重与标签
问题原因与解决方案
你遇到的错误是因为Deployment labels(标签自动激活多修订版)模式要求所有活动修订版必须同时配置流量权重和标签,不能单独为某个修订版添加标签。
核心问题
在该模式下,Azure容器应用的流量路由与标签强绑定:
- 每个承载流量的修订版必须关联一个标签
- 所有活动修订版的流量权重总和需为100%
- 单独执行
az containerapp revision label add会导致系统检测到活动修订版(比如原有的蓝色版本)缺少对应的标签或流量配置,触发错误。
正确操作步骤
创建绿色修订版后,需通过az containerapp traffic set命令同时为所有活动修订版配置标签和流量权重,而不是单独添加标签:
假设原有的蓝色修订版ID为$BLUE_COMMIT_ID,执行以下命令:
# 同时配置蓝色、绿色修订版的标签与初始流量权重(蓝色100%,绿色0%) az containerapp traffic set \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --revision $APP_NAME--$BLUE_COMMIT_ID=100 \ --revision $APP_NAME--$GREEN_COMMIT_ID=0 \ --label blue=$APP_NAME--$BLUE_COMMIT_ID \ --label green=$APP_NAME--$GREEN_COMMIT_ID
后续需要切换流量时,只需调整流量权重即可:
# 将流量切换为绿色100%,蓝色0% az containerapp traffic set \ --name $APP_NAME \ --resource-group $RESOURCE_GROUP \ --revision $APP_NAME--$BLUE_COMMIT_ID=0 \ --revision $APP_NAME--$GREEN_COMMIT_ID=100 \ --label blue=$APP_NAME--$BLUE_COMMIT_ID \ --label green=$APP_NAME--$GREEN_COMMIT_ID
补充说明
- 该模式下,
az containerapp revision label add命令仅适用于非活动修订版(即流量权重为0的版本),如果修订版承载流量,必须通过traffic set统一配置标签和权重。 - 若原蓝色修订版未设置标签,必须通过上述
traffic set命令一并添加,不能单独执行标签添加操作。
内容的提问来源于stack exchange,提问作者Tushar Swarup Tandon
相关产品推荐
相关产品推荐

