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* です。