Cloud Runの雑メモ

2021/09/18 20:00

※ 商品のリンクをクリックして何かを購入すると私に少額の報酬が入ることがあります【広告表示】

絶対に忘れるのでメモしておく。

ほんとにただの自分用メモ

gcloudコマンドを使える状態にしておく必要がある

macならbrew(cask)でインストールして、インストール直後に表示される指示に従って環境変数を.zshrcなんかに設定するだけ。

  $ brew install --cask google-cloud-sdk

あとは gcloud auth login する。ブラウザが開いてアカウントを選択して権限許可したらオッケー

  $ gcloud auth login

サービスを有効にする

Container RegistryとCloud RunとCloud Buildを有効にする。

今後はArtifact Registryを使うべきなのかもしれないけれど。

  $ gcloud services enable containerregistry.googleapis.com
  $ gcloud services enable run.googleapis.com
  $ gcloud services enable cloudbuild.googleapis.com

Dockerをビルド&pushする

イメージをアジアに置く場合には asia.gcr.io 、USの場合は gcr.io

  $ gcloud builds submit --tag asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAME

Cloud Runにイメージをデプロイする

$SERVICE_NAME に最初にデプロイするときには、未認証で参照できるように起動して良いか聞かれる。

  $ gcloud run deploy $SERVICE_NAME --region asia-northeast1 --image asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAME:latest
  Allow unauthenticated invocations to [$SERVICE_NAME] (y/N)?  y

Dockerイメージを更新して、Cloud Run の参照イメージを最新版にする

ビルド&プッシュして、最新版をデプロイするだけ(リクエストを最新に100%振り分ける)

  $ gcloud builds submit --tag asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAME
  $ gcloud run deploy $SERVICE_NAME --region asia-northeast1 --image asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAME:latest

Cloud Runの非アクティブなリビジョンを削除する

1000リビジョン以上は古いものから削除されるらしいので、特段消す必要もないのだけれど

  $ gcloud run revisions list --region asia-northeast1 | grep -v ' yes ' | awk 'NR>1{print $2}' | xargs -I ARG gcloud run revisions delete ARG  --region asia-northeast1 -q

おまけ

Imageのリストを表示する

  $ gcloud container images list-tags asia.gcr.io/$GCP_PROJECT_ID/$REPOSITORY_NAME

Cloud Runのリビジョンリストを表示する

  $ gcloud run revisions list --region asia-northeast1

Prev Entry

Next Entry