ウェブサイト検索

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 コマンドに慣れていただければ幸いです。

関連記事: