Kubernetes (CKAD) - Pod Design - ラベル、セレクター、アノテーションの使用方法を理解する


トピック: ポッドの設計



ラベル



ラベルは、リソースの整理に役立つ key:pair の値です. Kubernetes のすべてのオブジェクトには、説明されたラベルを付けることができます.

ラベルを使用して一連のリソースを選択することもできます.そのためには、後で説明するセレクターを使用します.

ラベルの例:

apiVersion: v1
kind: Pod
metadata:
  name: onboarding-frontend
  namespace: my-application
  labels:
    service: onboarding
    tier: frontend


出品ラベル




$ kubectl get pods --show-labels


ラベルを列としてリストする



kubectl の -L (--label-columns) オプションを使用して、ラベルを列としてリストできます.

$ kubectl get pods -L service,tier


セレクター



セレクターを使用して、一連のリソースをフィルタリングできます.ラベルに基づくフィルタリングには、-l セレクターを使用できます.

オンボーディング サービスに関連するポッドのみを選択します。




$ kubectl get pods -L service,tier -l 'service=onboarding'


オンボーディング サービスに関連しないポッドのみを選択します。




$ kubectl get pods -L service,tier -l 'service!=onboarding'


フロントエンド層のオンボーディング サービスに関連するポッドのみを選択する




$ kubectl get pods -L service,tier -l 'service=onboarding,tier=frontend'


バックエンド層とフロントエンド層に関連するすべてのポッドを選択します。




$ kubectl get pods -L service,tier -l 'tier in (backend,frontend)'


注釈



注釈を使用すると、作成中のオブジェクトの追加データを保存できます.これも key:pair の値ですが、JSON を含むより長い文字列を保存するためのより多くの容量があります.

注釈は次のようになります.

apiVersion: v1
kind: Pod
metadata:
  name: onboarding-frontend
  namespace: my-application
  labels:
    service: onboarding
    tier: frontend
  annotations:
    Description: The frontend component of the onboarding service for my-application.


ポッドのアノテーションを一覧表示する




$ kubectl describe pod onboarding-frontend | grep Annotations


注釈は、編集/削除/追加できます.

注釈を削除する




$ kubectl annotate pod onboarding-frontend Description-


注釈の後の - は、それを削除することを示しています.

注釈を追加する




$ kubectl annotate pod onboarding-frontend Description-


注釈の後の - は、それを削除することを示しています.

詳細な参照のための公式ドキュメント: Object Annotations