簡単な紹介
この記事では、ポッドに指定されたノードのノードに割り当てられた方法に焦点を当て
注:このドキュメントでは、彼らの公式文書を参照して理解されるべきである、と。誤解を招くような場合は、批判をしてください。
ノードにタグを追加
1は、現在の中央集権、すべてのノードラベルを表示します
# kubectl get nodes --show-labels
出力:
NAME STATUS ROLES AGE VERSION LABELS
k8s-master01 Ready master 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master01,kubernetes.io/os=linux,node-role.kubernetes.io/master=
k8s-master02 Ready master 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master02,kubernetes.io/os=linux,node-role.kubernetes.io/master=
k8s-master03 Ready master 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-master03,kubernetes.io/os=linux,node-role.kubernetes.io/master=
k8s-node01 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node01,kubernetes.io/os=linux
k8s-node02 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node02,kubernetes.io/os=linux
k8s-node03 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node03,kubernetes.io/os=linux
k8s-node04 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node04,kubernetes.io/os=linux
ノードノードを選択し、マークlabels
# kubectl label nodes k8s-node04 disktype=ssd
3、ビューノードのラベル
# kubectl get nodes k8s-node04 --show-labels
次のように出力されます。
NAME STATUS ROLES AGE VERSION LABELS
k8s-node04 Ready <none> 25d v1.17.0 beta.kubernetes.io/arch=amd64,beta.kubernetes.io/os=linux,disktype=ssd,kubernetes.io/arch=amd64,kubernetes.io/hostname=k8s-node04,kubernetes.io/os=linux
出力結果から見ると、k8s-node04
ノードがlabels
付いたdisktype=ssd
ラベル
指定されたノードのポッドにスケジュールを作成します。
この文書では、ノード選択(ディスク型SSD)を有するポッドポッドの構成について説明します。この手段は、必要がありますdisktype = ssd
ポッドノードのラベルをスケジュールします。ファイル:pod-nginx.yaml
apiVersion: v1
kind: Pod
metadata:
name: nginx
labels:
env: test
spec:
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
nodeSelector:
disktype: ssd
ポッドを作成します。
# kubectl apply -f /root/k8s-example/pods/pod-nginx.yaml
ビューは、ポッドの詳細を
# kubectl get pods -o wide
指定されたポッドにスケジュールされた出力結果から、k8s-node04
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
nginx 1/1 Running 0 107s 100.88.217.86 k8s-node04 <none> <none>
指定されたノードのポッドにスケジュールを作成します。
また、使用可能なnodeName
ノードのノードを指定するスケジュールを選択します。
apiVersion: v1
kind: Pod
metadata:
name: nginx
spec:
nodeName: k8s-node1
containers:
- name: nginx
image: nginx
imagePullPolicy: IfNotPresent
概要
指定されたノードの1、ポッド2のスケジューリング方法:
- ノードマークラベル、
nodeSelect
スケジューリングに指定を含有lables
ノード nodeName
指定されたノードの名前。