ラベルの使用

Cloud Run for Anthos on Google Cloud サービスとリビジョンでラベルを作成して使用する方法を学びます。

ラベルは、サービスとリビジョンに適用される Key-Value ペアです。Cloud Run for Anthos サービスにラベルを設定すると、このラベルが付いた新しいリビジョンがこのサービスに作成されます。ラベルは古いリビジョンには適用されません。

Cloud Run for Anthos のラベルは Kubernetes のリソースラベルであり、Google Cloud には伝播されません。ラベルを使用してクラスタ リソースの使用量を分析する方法については、クラスタ リソースの使用方法についてをご覧ください。

ラベルの使用ルール

Cloud Run for Anthos では、有効な Kubernetes ラベルのみを使用できます。

ラベルの設定または変更

構成を変更すると、新しいリビジョンが作成されます。明示的に更新しない限り、以降のリビジョンでも、この構成が自動的に設定されます。

新しいサービスをデプロイするか、既存のサービスを更新してリビジョンをデプロイする際に、Cloud Console、gcloud コマンドライン ツール、または YAML ファイルを使用してラベルを設定または変更できます。

Console

  1. Cloud Run for Anthos on Google Cloud に移動

  2. ラベルを設定するサービスの左側にあるチェックボックスをオンにします。

  3. 右端の情報パネルがオンになっていることを確認します(情報パネルを表示)。

  4. [ラベル] をクリックして、ラベルペインを表示します。

    ラベルを設定

  5. 既存のラベル Key-Value を編集するには、ラベルを探して、値を必要に応じて変更します。

  6. サービスに新しいラベルを設定するには、[ラベルを追加] をクリックしてキーと値を指定します。

  7. [保存] をクリックします。

コマンドライン

新しいサービスにラベルを設定したり、既存のサービスを更新したりするには、次のいずれかの gcloud kuberun コマンドを使用します。

  • 既存のサービスの場合は、次のパラメータのいずれかが指定された gcloud kuberun core services update コマンドを実行してラベルを更新します。

    例:

    gcloud kuberun core services update SERVICE --update-labels KEY1=VALUE1,KEY2=VALUE2
    

    以下のように置き換えます。

    • SERVICE は、実際のサービスの名前に置き換えます。
    • KEY1=VALUE1,KEY2=VALUE2 は、各ラベルの名前と値のペアのカンマ区切りのリストに置き換えます。各 KEY のラベル名と VALUE の値を指定します。複数のパラメータを指定する方法
    • コマンド パラメータ オプション

      複数の Key-Value ペアを指定するには、読みやすくするために複数のパラメータを指定します。次に例を示します。
      [...]
      --set-labels "KEY=VALUE1" \
      --set-labels "KEY=VALUE2" \
      --set-labels "KEY=VALUE3"
      
  • 新しいサービスの場合は、--set-labels パラメータが指定された gcloud kuberun core services create コマンドを実行してラベルを設定します。

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --set-labels KEY1=VALUE1,KEY2=VALUE2
    

    以下のように置き換えます。

    • IMAGE_URL は、コンテナ イメージへの参照(gcr.io/myproject/my-image:latest など)に置き換えます。
    • SERVICE は、実際のサービスの名前に置き換えます。
    • KEY1=VALUE1,KEY2=VALUE2 は、各ラベルの名前と値のペアのカンマ区切りのリストに置き換えます。各 KEY のラベル名と VALUE の値を指定します。複数のパラメータを指定する方法
    • コマンド パラメータ オプション

      複数の Key-Value ペアを指定するには、読みやすくするために複数のパラメータを指定します。次に例を示します。
      [...]
      --set-labels "KEY=VALUE1" \
      --set-labels "KEY=VALUE2" \
      --set-labels "KEY=VALUE3"
      

YAML

YAML ファイルを使用して既存のサービスの構成を変更するには、現在の構成のコピーを取得し、その構成を変更してローカル ファイルに保存してから、これらの変更をサービスにデプロイします。

  1. YAML として表示し、サービスの構成をローカル ファイルにコピーします。例を示します。service.yaml:

    gcloud kuberun core services describe SERVICE --format yaml

    SERVICE は、Cloud Run for Anthos サービスの名前に置き換えます。

  2. ローカル ファイルで labels 属性を更新します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      labels:
        LABEL: 'VALUE'

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

    • SERVICE は、Cloud Run for Anthos サービスの名前に置き換えます。
    • LABEL は、ラベルの名前に置き換えます。
    • VALUE は、目的の値に置き換えます。
  3. 次のコマンドを使用して、サービスを新しい構成に置き換えます。

    gcloud beta run services replace service.yaml

ラベル別にサービスを一覧表示する

Cloud SDK フィルタを使用して、ラベル別にサービスを一覧表示できます。

  gcloud kuberun core services list --filter metadata.labels.LABEL=VALUE
  

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

  • LABEL は、ラベルの名前に置き換えます。
  • VALUE は、フィルタ後のリストに含める値に置き換えます。

ラベルを削除する

Console またはコマンドラインの削除ラベルを使用できます。

Console

  1. Cloud Run for Anthos on Google Cloud に移動

  2. ラベルを削除するサービスの左側にあるチェックボックスをオンにします。

  3. 右端の情報パネルがオンになっていることを確認します(情報パネルを表示)。

  4. [ラベル] をクリックして、ラベルペインを表示します。

  5. 削除するラベルを見つけます。

  6. ラベルの [値] テキストボックスの右にカーソルを合わせ、表示されるゴミ箱アイコンをクリックします。

  7. [保存] をクリックします。

コマンドライン

サービスからラベルをすべて消去するには:

gcloud kuberun core services update SERVICE --clear-labels

サービスから特定のラベルを削除するには、キーのカンマ区切りリストを指定します。

gcloud kuberun core services update SERVICE --remove-labels LABEL

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

  • SERVICE は、Cloud Run for Anthos サービスの名前に置き換えます。
  • LABEL は、ラベルの名前に置き換えます。