1.コンセプト
ラベルはkubernetesの重要な概念であり、その機能はリソースにロゴを追加してそれらを区別して選択することです。
ラベルの機能:
1)ラベルは、ノード、ポッド、サービスなど、キー/値のキーと値のペアの形式でさまざまなオブジェクトに添付されます
。2)リソースオブジェクトは、任意の数のラベルを定義できます。同じラベルを任意の数のリソースオブジェクトに追加することもできます
。3)ラベルは通常、リソースオブジェクトの定義時に決定されます。もちろん、オブジェクトの作成後に動的に追加または削除することもできます。
二、ラベルセレクター
- リソースの多次元グループ化はラベルを介して実現できるため、リソースの割り当て、スケジューリング、構成、展開、およびその他の管理タスクを柔軟かつ便利に実行できます。
一般的に使用されるラベルの例は次のとおりです。
バージョン情報:「バージョン」: 「リリース」
環境情報:「環境」「:「開発」
アーキテクチャ情報:「層」:「フロントエンド」
ラベル定義が完了しました。ラベルの選択を検討する必要があります。これには、ラベル選択の使用が必要です。ラベルが使用されます。リソースオブジェクトを識別するために、ラベルセレクターが使用されます。特定のタグを持つリソースオブジェクトをクエリおよびフィルタリングします。
現在、ラベルセレクターには2つのタイプがあります
。1)式に基づいてラベルセレクター
名=スレーブ:
ラベルenvにkey = nameとvalue = slaveを含むすべてのオブジェクトを選択します!= prod:key = envとを含むすべてのオブジェクトを選択しますラベルの値!= prodオブジェクト
2)
(master、slave )のセットベースのラベルセレクター名はkey = nameを含むすべてのオブジェクトを選択し、value = masterまたはslave
は(master、slave)にないラベル名でkey = nameを含むすべてのオブジェクトを選択しますラベルと値!=マスターと!=スレーブオブジェクト - 複数のラベルオプションが存在する可能性があります。現時点では、複数のラベルセレクターを組み合わせて、カンマで区切ります。例:name in(master、slave)、env!= prod
第三に、ラベルの使用
- コマンドモード
#为pod资源打标签
kubectl label pod nginx-pod version=1.0 -n dev
#为pod资源更新标签
kubectl label pod nginx-pod version=2.0 -n dev --overwrite
#查看标签
kubectl get pod nginx-pod -n dev --show-labels
#筛选标签
kebectl get pod -n dev -l "version=2.0" --show-labels
#删除标签tier
kubectl label pod nginx -n dev tier-
- 設定方法
pod-nginx.yamlを作成します。設定ファイルはラベルを指定します
apiVersion: v1
kind: Pod
metadata:
name: nginx
namespace: dev
label:
version: 1.0
env: dev
spec:
containers:
- image: nginx:1.17.1
imagePullPolicy: IfNotPresent
name: pod
port:
- name: nginx-port
containerPort: 80
protocol: TCP
対応する更新コマンドを実行します。
kubectl apply -f pod-nginx.yaml
》》》ブロガーは長い間学習体験を更新し、いいねを推薦してフォローします!!!
》》》コメント欄にメッセージを残してください、ありがとうございます!!!