Kubernetes ノードにラベルを付ける (そして後で削除する) 方法
Kubernetes のノードにラベルを追加し、ラベルを変更し、後でそれらのラベルを削除する方法を学びます。
リアルタイム環境で作業している場合、指定されたワーカー ノードで特定の種類のワークロード (またはアプリケーション) を実行したい場合があります。
たとえば、実稼働ワークロードは特定のワーカー ノードで実行する必要があり、ステージング ワークロードや開発ワークロードと混合しないでください。
この場合、ノードにラベルを追加すると便利です。
Kubernetes のノードにラベルを追加し、ラベルを変更し、後でそれらのラベルを削除する方法を説明します。
Kubernetes でノード ラベルを読み取る方法
次の方法で、Kubernetes ノードの詳細をラベルとともにリストできます。
kubectl get nodes --show-labels
特定のノードの詳細を知りたい場合は、これを使用します。
kubectl label --list nodes node_name
ラベルはキーと値のペアの形式です。文字または数字で始まる必要があり、文字、数字、ハイフン、ドット、アンダースコアをそれぞれ 63 文字まで含めることができます。
ノードにラベルを割り当てる方法
ここで、kworker-rj1
ノードですべての運用関連のワークロードをホストするとします。
そのノードに適切な名前 (production など) を付けてみましょう。
root@kmaster-rj:~# kubectl label nodes kworker-rj1 workload=production
node/kworker-rj1 labeled
ポッドのラベルを確認します。
root@kmaster-rj:~# kubectl label --list nodes kworker-rj1 | grep -i workload
workload=production
grep コマンドを使用して不要な詳細を削除し、ラベルに焦点を当てました。
ノードラベルを上書きする方法
後で要件に基づいて一部のラベルを上書きする場合は、それを実現する方法を確認してください。
root@kmaster-rj:~# kubectl label --overwrite nodes kworker-rj1 workload=staging
node/kworker-rj1 labeled
ポッドの再ラベル付けを確認できます。
root@kmaster-rj:~# kubectl label --list nodes kworker-rj1 | grep -i workload
workload=staging
ノードラベルを削除する方法
ノードからラベルを削除するには、値を指定せずにキーを指定します。
root@kmaster-rj:~# kubectl label --overwrite nodes kworker-rj1 workload-
node/kworker-rj1 labeled
ノード ラベルが削除されたことを確認できます。
root@kmaster-rj:~# kubectl label --list nodes kworker-rj1 | grep -i workload
root@kmaster-rj:~#
それだけです!このチュートリアルで kubectl label コマンドに慣れていただければ幸いです。