サービスの Cloud Storage ボリュームのマウントの構成

このページでは、Cloud Run のボリューム マウントを使用して、Cloud Storage バケットをストレージ ボリュームとしてマウントする方法について説明します。

Cloud Run でバケットをボリュームとしてマウントすると、バケットの内容がコンテナ ファイル システムのファイルとして提示されます。バケットをボリュームとしてマウントした後、Google API クライアント ライブラリではなく、プログラミング言語のファイル システム オペレーションとライブラリを使用して、バケットにローカル ファイル システムのディレクトリのようにアクセスします。

ボリュームを読み取り専用としてマウントできます。また、ボリュームのマウント オプションを指定することもできます。

メモリ要件

Cloud Storage ボリューム マウントでは、次のアクティビティに Cloud Run のコンテナメモリが使用されます。

  • すべての Cloud Storage FUSE キャッシュに対して、Cloud Run はデフォルトで統計キャッシュの設定を使用し、有効期間(TTL)を 60 秒に設定します。統計キャッシュのデフォルトの最大サイズは 32 MB、タイプ キャッシュのデフォルトの最大サイズは 4 MB です。

  • Cloud Storage FUSE は、読み取り時に、統計キャッシュとタイプ キャッシュ以外のメモリも消費します。たとえば、ファイルを読み取るたびに、および goroutines を実行するたびに、1 MiB の配列を消費します。

  • Cloud Storage に書き込む場合は、ファイル全体が Cloud Run のメモリにステージングされた後、Cloud Storage に書き込まれます。

制限事項

Cloud Run は、このボリューム マウントに Cloud Storage FUSE を使用するため、Cloud Storage バケットをボリュームとしてマウントする場合は、次の点に注意してください。

  • Cloud Storage FUSE では、同じファイルへの複数書き込みの同時実行制御(ファイルのロック)は行いません。複数の書き込みによってファイルの置き換えが試みられた場合は、最後の書き込みが有効となり、それより前の書き込みはすべて失われます。
  • Cloud Storage FUSE は POSIX を完全に遵守したファイル システムではありません。詳細については、Cloud Storage FUSE のドキュメントをご覧ください。

使用できないパス

Cloud Run では、/dev/proc/sys、またはそのサブディレクトリにボリュームをマウントすることはできません。

始める前に

ボリュームとしてマウントするには、Cloud Storage バケットが必要です。

Cloud Storage への読み取り / 書き込みのパフォーマンスを最適化するには、Cloud Storage FUSE ネットワーク帯域幅のパフォーマンスの最適化をご覧ください。

必要なロール

Cloud Storage ボリューム マウントの構成に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

ファイルと Cloud Storage バケットにアクセスするためにサービス ID に必要な権限を取得するには、サービス ID に次の IAM ロールを付与するよう管理者に依頼してください。

Cloud Storage のロールと権限の詳細については、Cloud Storage の IAM をご覧ください。

Cloud Run に関連付けられている IAM ロールと権限のリストについては、Cloud Run IAM ロールCloud Run IAM 権限をご覧ください。Cloud Run サービスが Google Cloud APIs(Cloud クライアント ライブラリなど)と連携している場合は、サービス ID の構成ガイドをご覧ください。ロールの付与の詳細については、デプロイ権限アクセスの管理をご覧ください。

Cloud Storage ボリュームをマウントする

複数のバケットを異なるマウントパスにマウントできます。複数のコンテナで同じマウントパスまたは異なるマウントパスを使用して、ボリュームを複数のコンテナにマウントすることもできます。

コンテナを複数使用する場合は、まずボリュームを指定してから、各コンテナのボリューム マウントを指定します。

ボリュームのマウントには、第 2 世代の実行環境が必要です。 実行環境が明示的に構成されていない場合、Cloud Run はサービスの第 2 世代の実行環境を自動的に選択します。

コンソール

  1. Google Cloud コンソールで、[Cloud Run] に移動します。

    Cloud Run に移動

  2. [コンテナをデプロイ] をクリックし、[サービス] を選択して、新しいサービスを構成します。既存のサービスを構成する場合は、サービスをクリックし、[新しいリビジョンの編集とデプロイ] をクリックします。

  3. 新しいサービスを構成する場合は、最初のサービス設定のページに入力してから、[コンテナ、ボリューム、ネットワーキング、セキュリティ] をクリックしてサービス構成ページを開きます。

  4. [ボリューム] タブをクリックします。

    画像

    • [ボリュームを追加] をクリックします。
    • [ボリュームのタイプ] プルダウンで、ボリューム タイプとして Cloud Storage バケットを選択します。
    • [ボリューム名] フィールドに、ボリュームに使用する名前を入力します。
    • ボリュームに使用する Cloud Storage バケットを参照して選択するか、必要に応じて新しいバケットを作成します。
    • バケットを読み取り専用にする場合は、[読み取り専用] チェックボックスをオンにします。
    • [完了] をクリックします。
    • [コンテナ] タブをクリックします。
      • [ボリュームのマウント] タブをクリックします。
      • [ボリュームをマウント] をクリックします。
      • メニューからストレージ ボリュームを選択します。
      • ボリュームをマウントするパスを指定します。
      • [完了] をクリックします
  5. [作成] または [デプロイ] をクリックします。

gcloud

  • ボリュームを追加してマウントするには:

    gcloud run services update SERVICE \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH

    次のように置き換えます。

    • SERVICE: 実際のサービスの名前。
    • MOUNT_PATH は、ボリュームをマウントする相対パス(/mnt/my-volume など)に置き換えます。
    • VOLUME_NAME は、ボリュームに付ける名前に置き換えます。VOLUME_NAME 値は、ボリュームをボリューム マウントにマッピングするために使用されます。
    • BUCKET_NAME: Cloud Storage バケットの名前。
  • ボリュームを読み取り専用ボリュームとしてマウントするには:

    --add-volume=name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME,readonly=true
  • 複数のコンテナを使用している場合は、まずボリュームを指定してから、各コンテナのボリューム マウントを指定します。

    gcloud run services update SERVICE \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME \
    --container CONTAINER_1 \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH \
    --container CONTAINER_2 \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH2

YAML

  1. 新しいサービスを作成する場合は、この手順をスキップします。既存のサービスを更新する場合は、その YAML 構成をダウンロードします。

    gcloud run services describe SERVICE --format export > service.yaml
  2. 必要に応じて更新します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/execution-environment: gen2
        spec:
          containers:
          - image: IMAGE_URL
            volumeMounts:
            - name: VOLUME_NAME
              mountPath: MOUNT_PATH
          volumes:
          - name: VOLUME_NAME
            csi:
              driver: gcsfuse.run.googleapis.com
              readOnly: IS_READ_ONLY
              volumeAttributes:
                bucketName: BUCKET_NAME

    次のように置き換えます。

    • IMAGE_URL: コンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/hello:latest など)。Artifact Registry を使用する場合は、リポジトリ REPO_NAME がすでに作成されている必要があります。URL の形式は LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG です。
    • MOUNT_PATH は、ボリュームをマウントする相対パス(/mnt/my-volume など)に置き換えます。
    • VOLUME_NAME は、ボリュームに付ける名前に置き換えます。VOLUME_NAME 値は、ボリュームをボリューム マウントにマッピングするために使用されます。
    • ボリュームを読み取り専用にする場合は IS_READ_ONLYTrue に置き換えます。書き込み可能にするには False に置き換えます。
    • BUCKET_NAME は、Cloud Storage バケットの名前にします。
  3. 次のコマンドを使用して、サービスを作成または更新します。

    gcloud run services replace service.yaml

ボリュームの読み取りと書き込み

Cloud Run のボリューム マウント機能を使用する場合、ローカル ファイル システムでファイルの読み取りと書き込みに使用するプログラミング言語のライブラリを使用して、マウントされたボリュームにアクセスします。

これは、ローカル ファイル システムにデータが保存されることを想定し、通常のファイル システム オペレーションを使用してデータにアクセスする既存のコンテナを使用している場合に特に便利です。

次のスニペットは、mountPath/mnt/my-volume に設定されたボリューム マウントを前提としています。

Node.js

ファイル システム モジュールを使用して、ボリューム /mnt/my-volume に新しいファイルを作成するか、既存のファイルに追加します。

var fs = require('fs');
fs.appendFileSync('/mnt/my-volume/sample-logfile.txt', 'Hello logs!', { flag: 'a+' });

Python

ボリューム /mnt/my-volume に保存されているファイルに書き込みます。

f = open("/mnt/my-volume/sample-logfile.txt", "a")

Go

os パッケージを使用して、ボリューム /mnt/my-volume に新しいファイルを作成します。

f, err := os.Create("/mnt/my-volume/sample-logfile.txt")

Java

Java.io.File クラスを使用して、ボリューム /mnt/my-volume にログファイルを作成します。

import java.io.File;
File f = new File("/mnt/my-volume/sample-logfile.txt");

マウント オプションを使用したボリュームの構成

必要に応じて、マウント オプションを使用して、ボリューム マウントのさまざまなプロパティを構成できます。使用可能なマウント オプションを使用すると、キャッシュ設定の構成、特定のディレクトリのマウント、デバッグ ロギングの有効化などの動作を実行できます。

マウント オプションを指定する

マウント オプションは、Google Cloud CLI または YAML を使用して指定できます。

gcloud

ボリュームを追加してマウント オプションを指定してマウントするには:

gcloud beta run services update SERVICE \
    --execution-environment gen2 \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME,mount-options="OPTION_1=VALUE_1;OPTION_N=VALUE_N" \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH

次のように置き換えます。

  • SERVICE: 実際のサービスの名前。
  • VOLUME_NAME は、ボリュームに付ける名前に置き換えます。VOLUME_NAME 値は、ボリュームをボリューム マウントにマッピングするために使用されます。
  • BUCKET_NAME: Cloud Storage バケットの名前。
  • OPTION_1 は、最初のマウント オプションに置き換えます。マウント オプションは必要に応じていくつでも指定できます。各マウント オプションと値のペアをセミコロンで区切ります。
  • VALUE_1 は、最初のマウント オプションに必要な設定に置き換えます。
  • OPTION_N は、2 番目のマウント オプションに置き換えます。
  • VALUE_N は、2 番目のマウント オプションの設定に置き換えます。
  • MOUNT_PATH は、ボリュームをマウントする相対パス(/cache など)に置き換えます。

YAML

  1. 新しいサービスを作成する場合は、この手順をスキップします。既存のサービスを更新する場合は、その YAML 構成をダウンロードします。

    gcloud run services describe SERVICE --format export > service.yaml
  2. 必要に応じて更新します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/execution-environment: gen2
        spec:
          containers:
          - image: IMAGE_URL
            volumeMounts:
            - name: VOLUME_NAME
              mountPath: MOUNT_PATH
          volumes:
          - name: VOLUME_NAME
            csi:
              driver: gcsfuse.run.googleapis.com
              readOnly: IS_READ_ONLY
              volumeAttributes:
                bucketName: BUCKET_NAME
                mountOptions: OPTION_1=VALUE_1,OPTION_N=VALUE_N

    次のように置き換えます。

    • IMAGE_URL: コンテナ イメージへの参照(us-docker.pkg.dev/cloudrun/container/hello:latest など)。Artifact Registry を使用する場合は、リポジトリ REPO_NAME がすでに作成されている必要があります。URL の形式は LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG です。
    • MOUNT_PATH は、ボリュームをマウントする相対パス(/cache など)に置き換えます。
    • VOLUME_NAME は、ボリュームに付ける名前に置き換えます。VOLUME_NAME 値は、ボリュームをボリューム マウントにマッピングするために使用されます。
    • ボリュームを読み取り専用にする場合は IS_READ_ONLYTrue に置き換えます。書き込み可能にするには False に置き換えます。
    • BUCKET_NAME は、Cloud Storage バケットの名前にします。
    • OPTION_1 は、最初のマウント オプションに置き換えます。マウント オプションは、必要な数だけ指定できます。各マウント オプションと値のペアをカンマで区切ります。
    • VALUE_1 は、最初のマウント オプションに必要な設定に置き換えます。
    • OPTION_N は、2 番目のマウント オプションに置き換えます。
    • VALUE_N は、2 番目のマウント オプションの設定に置き換えます。
  3. 次のコマンドを使用して、サービスを作成または更新します。

    gcloud run services replace service.yaml

よく使用されるマウント オプション

マウント オプションは、キャッシュ設定の構成、Cloud Storage バケットから特定のディレクトリのみのマウント、ボリュームの所有権の構成(uidgid)、暗黙的なディレクトリの無効化、デバッグ ロギング レベルの指定によく使用されます。

キャッシュ設定を構成する

キャッシュ関連のマウント オプションを設定することで、ボリュームのキャッシュ設定を変更できます。次の表に、設定とデフォルトの Cloud Run 値を示します。

キャッシュ設定 説明 デフォルト
metadata-cache-ttl-secs キャッシュに保存されたメタデータ エントリの有効期間(TTL)を秒単位で指定します。例: metadata-cache-ttl-secs=120s最新のファイルを使用するには、0 の値を指定します。キャッシュに保存されたバージョンを常に使用するには、値 -1 を指定します。詳細については、キャッシュの無効化の構成をご覧ください。 60
stat-cache-max-size-mb 統計情報キャッシュで使用できる最大サイズ(MiB)。統計情報キャッシュは常にメモリ内に保持されるため、メモリ消費に影響します。ワークロードに最大 20,000 個のファイルが含まれる場合は、32 の値を指定します。ワークロードのファイル数が 20,000 を超える場合は、6,000 ファイルを追加するごとにサイズを 10 ずつ増やします。統計キャッシュはファイルあたり平均 1,500 MiB を使用します。

統計キャッシュが必要なだけメモリを使用できるようにするには(つまり上限を設定しない場合は)、値 -1 を指定します。統計情報キャッシュを無効にするには、値 0 を指定します。
32
type-cache-max-size-mb タイプ キャッシュが使用できるディレクトリあたりの最大サイズ(MiB 単位)。型キャッシュは常にメモリ内に完全に保持されるため、メモリ消費に影響します。

マウントするバケットの 1 つのディレクトリ内にあるファイルの最大数が 20,000 以下の場合は、値 4 を指定します。マウントする 1 つのディレクトリ内のファイルの最大数が 20,000 を超える場合は、5,000 ファイルごとに値を 1 増やします(ファイルあたり平均約 200 バイト)。

タイプ キャッシュが必要なだけメモリを使用できるようにするには(つまり上限を指定しない場合は)、値 -1 を指定します。

タイプ キャッシュを無効にするには、値 0 を指定します。
4

次の Google Cloud CLI コマンドは、metadata-cache-ttl-secs を 120 秒に設定し、統計情報とタイプのキャッシュ容量をそれぞれ 52 MiB と 7 MiB に増やします。

gcloud beta run services update SERVICE \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME,mount-options="metadata-cache-ttl-secs=120;stat-cache-max-size-mb=52;type-cache-max-size-mb=7" \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH

デバッグ ロギングを有効にする

デフォルトでは、Cloud Storage FUSE は重大度が Info のイベントをログに記録します。ロギング設定は、次のいずれかのログ重大度マウント オプションを使用して変更できます。

  • trace
  • debug
  • info
  • warning
  • error
  • すべてのロギングをオフにするには、値 off を指定します。

重大度は低いものから高いものの順に並べられています。重大度レベルを指定すると、Cloud Storage FUSE は、指定された重大度レベル以上の重大度レベルのイベントのログを生成します。たとえば、warning レベルを指定すると、Cloud Storage FUSE は警告とエラーのログを生成します。

ログの重大度を info より高いレベルに設定すると、パフォーマンスに影響し、大量のログデータが生成される可能性があるため、必要な場合にのみ設定することをおすすめします。

次のコマンドラインを使用すると、デバッグ ロギングが有効になります。

gcloud beta run services update SERVICE \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME,mount-options="log-severity=debug" \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH

暗黙的なディレクトリを無効にする

Cloud Storage を標準のファイル システムのように見せるため、Cloud Run では Cloud Storage バケットのマウント時に暗黙のディレクトリがデフォルトで有効になります。暗黙的なディレクトリは、implicit-dirs マウント オプションを使用して無効にできます。暗黙的なディレクトリを無効にすると、パフォーマンスと費用を改善できますが、互換性が犠牲になります。

暗黙的なディレクトリ機能を使用すると、ファイル名がディレクトリ構造を模倣している既存の Cloud Storage ファイルを Cloud Run で認識できます(/mydir/myfile.txt など)。暗黙的なディレクトリを無効にすると、Cloud Run はそのようなファイルを一覧表示または読み取ることができなくなります。

暗黙的なディレクトリをオフにすると、Cloud Storage へのリクエスト数が減り、アプリケーションのパフォーマンスと費用が改善される可能性があります。詳細については、Cloud Storage FUSE のファイルとディレクトリのドキュメントをご覧ください。

次のコマンドラインでは、暗黙的なディレクトリが無効になります。

gcloud beta run services update SERVICE \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME,mount-options="implicit-dirs=false" \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH

Cloud Storage バケット内の特定のディレクトリをマウントする

デフォルトでは、Cloud Run は Cloud Storage バケット全体をマウントします。これにより、Cloud Run サービスはすべてのコンテンツにアクセスできます。特定のディレクトリのみをマウントしたい場合があります。たとえば、バケットに大量のファイルが含まれている場合は、特定のディレクトリをマウントするとパフォーマンスが向上します。

別の例は、分離目的で、異なるサービスがストレージ バケット内の異なるディレクトリにアクセスする必要がある場合です。

次のコマンドラインでは、マウントするディレクトリを指定します。

gcloud beta run services update SERVICE \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME,mount-options="only-dir=images" \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH

音量 UIDGID を設定する

uid マウント オプションと gid マウント オプションを使用して、ボリュームのユーザー ID とグループ ID を変更します。これは、実行中の 1 つ以上のコンテナの ID に一致する特定のユーザーまたはグループにファイルの所有権を設定する場合に便利です。デフォルトでは、ボリュームは root が所有します。

次のコマンドラインは、uidgid を設定します。

gcloud beta run services update SERVICE \
    --add-volume name=VOLUME_NAME,type=cloud-storage,bucket=BUCKET_NAME,mount-options="uid=UID;gid=GID" \
    --add-volume-mount volume=VOLUME_NAME,mount-path=MOUNT_PATH

その他のマウント オプションを設定する

Cloud Run でサポートされているすべてのマウント オプションの完全なリストは次のとおりです。

ディレクトリ

  • implicit-dirs
  • only-dir
  • rename-dir-limit

Debug

  • debug_fuse_errors
  • debug_fuse
  • debug_gcs
  • debug-invariants
  • debug_mutex

キャッシュ

  • stat-cache-capacity
  • stat-cache-ttl
  • type-cache-ttl
  • enable-nonexistent-type-cache

権限

  • uid
  • gid
  • file-mode
  • dir-mode

その他

  • billing-project
  • client-protocol
  • experimental-enable-json-read
  • experimental-opentelemetry-collector-address
  • http-client-timeout
  • limit-bytes-per-sec
  • limit-ops-per-sec
  • max-conns-per-host
  • max-idle-conns-per-host
  • max-retry-sleep
  • -o
  • retry-multiplier
  • sequential-read-size-mb
  • stackdriver-export-interval

サポートされているマウント オプションの詳細については、Cloud Storage FUSE コマンドラインのマウント オプションをご覧ください。

ボリューム マウント設定を表示する

Console

  1. Google Cloud コンソールで、Cloud Run サービスのページに移動します。

    Cloud Run ジョブに移動

  2. 目的のサービスをクリックして、[サービスの詳細] ページを開きます。

  3. [ボリューム] タブをクリックします。

  4. ボリュームの詳細ページでボリューム マウント設定を見つけます。

gcloud

  1. 次のコマンドを使用します。

    gcloud run services describe SERVICE_NAME
  2. 返された構成で、ボリューム マウント設定を見つけます。

Cloud Storage FUSE ネットワーク帯域幅のパフォーマンスの最適化

読み取りと書き込みのパフォーマンスを向上させるには、ダイレクト VPC を使用して Cloud Run サービスを VPC ネットワークに接続し、すべてのアウトバウンド トラフィックを VPC ネットワーク経由でルーティングします。これは、次のいずれかの方法で行うことができます。

コンテナの起動時間と Cloud Storage FUSE のマウント

Cloud Storage FUSE を使用すると、コンテナの起動前にボリューム マウントが開始されるため、Cloud Run コンテナのコールド スタート時間がわずかに長くなる可能性があります。コンテナは、Cloud Storage FUSE が正常にマウントされた場合にのみ起動します。

Cloud Storage FUSE は、Cloud Storage への接続を確立した後にのみ、ボリュームを正常にマウントします。ネットワークの遅延は、コンテナの起動時間に影響する可能性があります。同様に、接続の試行が失敗すると、Cloud Storage FUSE はマウントされず、Cloud Run サービスは起動しません。また、Cloud Run のすべてのマウント処理の合計タイムアウトが 30 秒であるため、Cloud Storage FUSE のマウントに 30 秒以上かかると、Cloud Run サービスの開始に失敗します。

Cloud Storage FUSE のパフォーマンス特性

それぞれが異なるバケットを指す 2 つのボリュームを定義すると、2 つの Cloud Storage FUSE プロセスが開始されます。マウント処理とプロセスは並行して行われます。

Cloud Storage FUSE は Cloud Storage API を使用して Cloud Storage と通信するため、Cloud Storage FUSE を使用するオペレーションはネットワーク帯域幅の影響を受けます。ネットワーク帯域幅が少ない場合、バケットのコンテンツのリストの取得など、オペレーションが遅くなることがあります。同様に、サイズの大きなファイルの読み取りには時間がかかります。これは、ネットワーク帯域幅によって制限されるためです。

バケットに書き込むと、Cloud Storage FUSE はオブジェクトをメモリに完全にステージングします。つまり、大きなファイルの書き込みは、コンテナ インスタンスで使用可能なメモリ量によって制限されます(コンテナのメモリの最大上限は 32 GiB です)。

書き込みは、close または fsync を実行した場合にのみバケットにフラッシュされます。その後、完全なオブジェクトがバケットにアップロードまたは再アップロードされます。オブジェクトがバケットに完全に再アップロードされる唯一の例外は、ファイルが 2 MiB 以上で、コンテンツが追加されている場合です。

詳しくは、次のリソースをご覧ください。

ボリュームとボリューム マウントを消去して削除する

すべてのボリュームとボリューム マウントを消去することも、個々のボリュームとボリューム マウントを削除することもできます。

すべてのボリュームとボリューム マウントを消去する

単一コンテナ サービスからすべてのボリュームとボリューム マウントを消去するには、次のコマンドを実行します。

gcloud beta run services update SERVICE \
    --clear-volumes
    --clear-volume-mounts

複数のコンテナがある場合は、サイドカー CLI 規則に沿ってボリュームとボリューム マウントを消去します。

gcloud beta run services update SERVICE \
    --container=container1 \
    --clear-volumes
    -–clear-volume-mounts \
    --container=container2 \
    --clear-volumes \
    -–clear-volume-mounts

個々のボリュームとボリューム マウントを削除する

ボリュームを削除するには、そのボリュームを使用するすべてのボリューム マウントも削除する必要があります。

個々のボリュームまたはボリューム マウントを削除するには、remove-volume フラグと remove-volume-mount フラグを使用します。

gcloud beta run services update SERVICE \
    --remove-volume VOLUME_NAME \
    --container=container1 \
    --remove-volume-mount MOUNT_PATH \
    --container=container2 \
    --remove-volume-mount MOUNT_PATH