Kubernetes-labels-selectors

提供:Dev Guides
移動先:案内検索

Kubernetes-ラベルとセレクター

ラベル

ラベルは、ポッド、レプリケーションコントローラー、およびサービスに接続されるキーと値のペアです。 これらは、ポッドやレプリケーションコントローラーなどのオブジェクトの属性を識別するために使用されます。 それらは作成時にオブジェクトに追加でき、実行時に追加または変更できます。

セレクター

ラベルは一意性を提供しません。 一般的に、多くのオブジェクトが同じラベルを保持できると言えます。 ラベルセレクターは、Kubernetesのコアグループ化プリミティブです。 ユーザーがオブジェクトのセットを選択するために使用します。

Kubernetes APIは現在、2種類のセレクターをサポートしています-

  • 等価ベースのセレクター
  • セットベースのセレクター

等式ベースのセレクター

キーと値によるフィルタリングが可能です。 一致するオブジェクトは、指定されたすべてのラベルを満たす必要があります。

セットベースのセレクター

セットベースのセレクタを使用すると、値のセットに従ってキーをフィルタリングできます。

apiVersion: v1
kind: Service
metadata:
   name: sp-neo4j-standalone
spec:
   ports:
      - port: 7474
      name: neo4j
   type: NodePort
   selector:
      app: salesplatform ---------> 1
      component: neo4j -----------> 2

上記のコードでは、ラベルセレクターを app:salesplatform として、コンポーネントを component:neo4j として使用しています。

*kubectl* コマンドを使用してファイルを実行すると、ポート7474で通信する *sp-neo4j-standalone* という名前のサービスが作成されます。 ypeは *NodePort* で、新しいラベルセレクターは *app:salesplatform* および *component:neo4j* です。