本日は、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