Azure Container Appsを試してみる(3)

はじめに

2021年11月にAzure Container Appsというものがパブリックプレビューとして公開されました。パブリックプレビューなので、まだ色々と環境が整っていない感じがするのですが、試してみました。

前回までの記事は以下のものを参照してください。チュートリアルを実施して、自分で作成したコンテナアプリを動かすことまでを実施しました。

今回は、リビジョンについて実施してみます。

リビジョンとは?

Azure Container Appsのポータルをみると「リビジョン管理」という項目が目につきました。

f:id:miyohide:20220206164805p:plain

ドキュメントは以下にあるのですが、あまりピンときませんでした。バージョン管理みたいなものと捉えたら良いのかな?

docs.microsoft.com

実際に実行してみることにしました。

最初のアプリをデプロイする

最初のアプリをデプロイします。以下のコマンドは環境変数RESOURCE_GROUPCONTAINERAPPS_ENVIRONMENTを設定しています。これら環境変数は、ドキュメントのチュートリアルにあるものをそのまま使っています。

docs.microsoft.com

az containerapp createコマンドでデプロイします。

az containerapp create \
  --name my-container-app \
  --resource-group $RESOURCE_GROUP \
  --environment $CONTAINERAPPS_ENVIRONMENT \
  --image イメージ名:v0.0.1 \
  --registry-login-server Azure Container Registryのログインサーバー名 \
  --registry-username Azure Container Registryのユーザー名 \
  --registry-password Azure Container Registryのパスワード \
  --environment-variables 環境変数名1=値1,環境変数名2=値2,環境変数名3=値3 \
  --target-port 8080 \
  --ingress 'external' \
  --query configuration.ingress.fqdn

イメージ名:v0.0.1みたいにlatestではなく、バージョン番号を指定しています。このイメージはこんな感じの画面です。

f:id:miyohide:20220206165956p:plain

次のバージョンのアプリをデプロイする

バージョンを変えたアプリをデプロイします。このバージョンはこんな感じの画面です。バージョン番号をつけました。

f:id:miyohide:20220206170221p:plain

デプロイは、az containerapp updateコマンドで行います。イメージ名のバージョン部分をv0.0.2にすることを忘れず、そのほかは同じ値で実行します。

az containerapp update \
  --name my-container-app \
  --resource-group $RESOURCE_GROUP \
  --environment $CONTAINERAPPS_ENVIRONMENT \
  --image イメージ名:v0.0.2 \
  --registry-login-server Azure Container Registryのログインサーバー名 \
  --registry-username Azure Container Registryのユーザー名 \
  --registry-password Azure Container Registryのパスワード \
  --environment-variables 環境変数名1=値1,環境変数名2=値2,環境変数名3=値3 \
  --target-port 8080 \
  --ingress 'external' \
  --query configuration.ingress.fqdn

ポータルのリビジョン管理の画面は2行に増えました。

f:id:miyohide:20220206170603p:plain

今回はトラフィックをv0.0.1とv0.0.2それぞれに分けるように50%、50%に設定しました。

これでブラウザをリロードするとv0.0.1とv0.0.2のどちらかにアクセスされます。試したところ、v0.0.1の次は必ずv0.0.2にアクセスされるわけではなく、v0.0.1→v0.0.1→v0.0.2という感じになることがありました。

あとがき

今回試したことは以下のドキュメントに書かれていました。ま、自分で試すことは大事だと思います。

docs.microsoft.com