指定されたノードに割り当てられたポッドkubernetes

簡単な紹介

この記事では、ポッドに指定されたノードのノードに割り当てられた方法に焦点を当て

注:このドキュメントでは、彼らの公式文書を参照して理解されるべきである、と。誤解を招くような場合は、批判をしてください。

ノードにタグを追加

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指定されたノードの名前。

おすすめ

転載: www.cnblogs.com/mcsiberiawolf/p/12220871.html