Kubernetesの詳細な説明(12)-ノードセレクターとリソースアノテーション

本日は、Linuxの運用・保守に関する知識を引き続きご紹介します。この記事の主な内容は、ノードセレクターとリソースアノテーションです。

ノードセレクターの概要

ポッドノードセレクターはラベルセレクターのアプリケーションであり、ポッドオブジェクトの作成時に指定したノードで実行できます。Podオブジェクトのspecフィールドには、nodeNameとnodeSelectorの2つのプロパティがあります。注文の実行:

kubectl explain pods.spec

これらの2つのプロパティを確認すると、結果は次のようになります。
ここに画像の説明を挿入

2.ノードラベルとノードラベルの追加

Kubernetesクラスタでは、各ノードに独自のラベルが付けられます。これは、ノードのオペレーティングシステムと基本属性に関連しています。注文の実行:

kubectl get nodes --show-labels

Kubernetesクラスター内のノードノードとノードラベルを表示できます。このコマンドの実行結果は次のとおりです。
ここに画像の説明を挿入
同様に、指定したノードにラベルを追加することもできます。この操作でもkubectlkubeコマンドを使用します。コマンドの形式は次のとおりです。次のように:

kubectl label nodes/【节点名】 【标签键】=【标签值】

たとえば、次のコマンドを実行します。

kubectl label nodes/node2 mem=big

ラベルmem=bigをKubernetesクラスターのnode2ノードに追加できます。このコマンドの実行結果は次のとおりです。
ここに画像の説明を挿入

3.ノードセレクターアプリケーション

次に、ノードセレクターを使用して、Podオブジェクトが実行されるノードを制御します。ポッドオブジェクトのリソースリストを作成します(リソースリストがわからない場合は、Kubernetesの詳細な説明(9)-実際にポッドを作成するためのリソース構成リストを参照してください。前のコンテンツについては、この記事では、ここでは詳しく説明しません。主にノードセレクターに関連する構成を紹介します)、内容は次のように記述します。

apiVersion: v1
kind: Pod
metadata:
  name: pod-demo-test
  namespace: default
  labels:
    label1: mypod1
    label2: mypod2
spec:
  containers:
  - name: busybox
    image: busybox
    command:
    - "/bin/sh"
    - "-c"
    - "sleep 7200"
  nodeSelector:
    mem: big

このリソースマニフェストのspecモジュールで、nodeSelectorノードセレクターを使用し、mem=bigノードを選択しました。
リソースマニフェストが作成されたら、次のコマンドを実行します。

kubectl create -f pod-demo-test.yaml

Podオブジェクトの作成は、リソースリストの構成に従って完了します。このコマンドの実行結果は次のとおり
ここに画像の説明を挿入
です。ご覧のとおり、ノードセレクターを構成した後、Podオブジェクトはnode2ノードで実行されます。ノードセレクタがNode。node関数を選択することを示します。

4.リソースアノテーション

最後に、リソースアノテーションアノテーションについて説明しましょう。ラベルに加えて、Kubernetesクラスタ内の個々のリソースオブジェクトもリソースアノテーションを使用できます。リソースアノテーションはタグに似ており、キーと値のペアデータでもありますが、リソースアノテーションを使用してオブジェクトを選択することはできず、メタデータ情報のみを提供できます。ただし、リソースアノテーションの利点は、タグで禁止されている文字数やサポート文字によって制限されないことです。
独創性は簡単ではありません。転載のソースを示してください:https://blog.csdn.net/weixin_40228200

おすすめ

転載: blog.csdn.net/weixin_40228200/article/details/124286589