在 Azure 容器应用中管理修订

在 Azure 容器应用中支持多个修订,这允许你管理容器应用的版本控制。 使用此功能,可以激活和停用修订,并控制发送到每个修订的流量。 若要了解有关修订的详细信息,请参阅 Azure 容器应用中的修订

首次部署应用程序时会创建修订版。 以修订范围更改更新应用程序时,会创建新的修订。 还可以根据特定修订更新容器应用。

本文介绍了用于管理容器应用的修订的命令。 有关容器应用命令的详细信息,请参阅az containerapp。 有关用于管理修订的命令的详细信息,请参阅az containerapp revision

更新容器应用

若要更新容器应用,请使用 az containerapp update 命令。 使用此命令,可以修改环境变量、计算资源、缩放参数和部署其他映像。 如果容器应用更新包含修订范围更改,则生成新的修订。

还可使用 YAML 文件来定义这些内容以及其他配置选项和参数。 有关此命令的详细信息,请参阅az containerapp revision copy

此示例更新容器映像。 将 <PLACEHOLDERS> 替换为你的值。

az containerapp update \
  --name <APPLICATION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --image <IMAGE_NAME>

还可以使用 Revision copy 命令更新容器应用。

修订列表

使用 az containerapp revision list 列出与容器应用关联的所有修订。 有关此命令的详细信息,请参阅 az containerapp revision list

将 <PLACEHOLDERS> 替换为你的值。

az containerapp revision list \
  --name <APPLICATION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME> \
  -o table

Revision show

使用 az containerapp revision show 显示有关特定修订的详细信息。 有关此命令的详细信息,请参阅az containerapp revision show

将 <PLACEHOLDERS> 替换为你的值。

az containerapp revision show \
  --name <APPLICATION_NAME> \
  --revision <REVISION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME>

Revision copy

若要基于现有修订创建新修订,请使用 az containerapp revision copy。 容器应用会使用现有修订的配置,你随后可以对其进行修改。

使用此命令,可以修改环境变量、计算资源、缩放参数和部署其他映像。 还可使用 YAML 文件来定义这些内容以及其他配置选项和参数。 有关此命令的详细信息,请参阅az containerapp revision copy

此示例复制最新修订并设置计算资源参数。 (将 <PLACEHOLDERS> 替换为你的值。)

az containerapp revision copy \
  --name <APPLICATION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --cpu 0.75 \
  --memory 1.5Gi

Revision activate

使用 az containerapp revision activate 激活修订。 有关此命令的详细信息,请参阅az containerapp revision activate

示例:(将 <PLACEHOLDERS> 替换为你的值。)

az containerapp revision activate \
  --revision <REVISION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME>

Revision deactivate

使用 az containerapp revision deactivate 停用不再使用的修订。 停用将停止所有正在运行修订副本。 有关详细信息,请参阅 az containerapp revision deactivate

示例:(将 <PLACEHOLDERS> 替换为你的值。)

az containerapp revision deactivate \
  --revision <REVISION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME>

Revision restart

此命令将重启修订。 有关此命令的详细信息,请参阅az containerapp revision restart

在容器应用中修改机密时,需要重启活动修订,以便它们可以访问机密。

示例:(将 <PLACEHOLDERS> 替换为你的值。)

az containerapp revision restart \
  --revision <REVISION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME>

Revision set mode

修订模式控制容器应用的单个修订还是多个修订可以同时处于活动状态。 要将你的容器应用设置为支持单修订模式多修订模式,请使用 az containerapp revision set-mode 命令。

默认设置为单修订模式。 有关此命令的详细信息,请参阅az containerapp revision set-mode

模式值为 singlemultiple。 更改修订模式不会创建新的修订。

示例:(将 <占位符> 替换成自己的值。)

示例:(将 <PLACEHOLDERS> 替换为你的值。)

az containerapp revision set-mode \
  --name <APPLICATION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --mode <REVISION_MODE>

修订标签

标签提供可用于将流量定向到修订的唯一 URL。 可以在修订之间移动标签,以将定向到标签 URL 的流量重新路由到其他修订。 有关修订标签的详细信息,请参阅修订标签

可以从修订中添加和删除标签。 有关标签命令的详细信息,请参阅az containerapp revision label

Revision label add

若要向修订中添加标签,请使用 az containerapp revision label add 命令。

一次只能将标签分配给一个修订,而一个修订只能被分配一个标签。 如果指定的修订具有标签,则 add 命令会替换现有标签。

此示例可向修订中添加标签:(将 <PLACEHOLDERS> 替换为你的值。)

az containerapp revision label add \
  --revision <REVISION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --label <LABEL_NAME>

Revision label remove

若要从修订中删除标签,请使用 az containerapp revision label remove 命令。

此示例可从修订中删除标签:(将 <PLACEHOLDERS> 替换为你的值。)

az containerapp revision label add \
  --revision <REVISION_NAME> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --label <LABEL_NAME>

流量拆分

通过分配百分比值来应用,你可以决定如何在不同的修订间平衡流量。 流量拆分规则是通过按名称或标签为不同修订设置权重来分配的。 有关详细信息,请参阅流量拆分

后续步骤