ラベルの使用

Knative serving サービスとリビジョンでラベルを作成して使用する方法について説明します。

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

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

ラベルの使用ルール

Knative serving では、有効な Kubernetes ラベルのみを使用できます。

ラベルの設定または変更

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

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

コンソール

  1. Google Cloud コンソールで Knative serving に移動します。

Knative serving に移動

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

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

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

    ラベルを設定

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

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

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

コマンドライン

Google Cloud CLI を使用して、新しいサービスのラベルを設定できます。または、既存のサービスを更新することもできます。

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

    例:

    gcloud run 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 run deploy コマンドを実行してラベルを設定します。

    gcloud run deploy SERVICE --image=IMAGE_URL --set-labels KEY1=VALUE1,KEY2=VALUE2
    

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

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

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

YAML

--format=export フラグを使用して、gcloud run services describe コマンドで既存のサービスの構成を YAML ファイルにダウンロードできます。次に YAML ファイルを変更し、gcloud run services replace コマンドを使用してこれらの変更をデプロイします。指定した属性のみを変更する必要があります。

  1. ローカル ワークスペースの service.yaml という名前のファイルにサービスの構成をダウンロードします。

    gcloud run services describe SERVICE --format export > service.yaml

    SERVICE は、Knative serving サービスの名前に置き換えます。

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

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

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

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

    gcloud run services replace service.yaml

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

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

  gcloud run services list --filter metadata.labels.LABEL=VALUE
  

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

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

ラベルを削除する

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

コンソール

  1. Google Cloud コンソールで Knative serving に移動します。

Knative serving に移動

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

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

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

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

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

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

コマンドライン

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

gcloud run services update SERVICE --clear-labels

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

gcloud run services update SERVICE --remove-labels LABEL

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

  • SERVICE は、Knative serving サービスの名前に置き換えます。
  • LABEL は、ラベルの名前に置き換えます。