k8s 指定排程節點

2021-10-11 02:58:54 字數 2722 閱讀 9532

pod.spec.nodename將 pod 直接排程到指定的 node 節點上,會跳過 scheduler 的排程策略,該匹配規則是強制匹配

我的節點:

[root@master scheduler]

# kubectl get node

name status roles age version

master ready master 29h v1.19.4

node1 ready worker 29h v1.19.4

node2 ready worker 29h v1.19.4

排程到node1節點

[root@master scheduler]

# cat nodename-select.yml

kind: deployment

metadata:

name: myweb

spec:

replicas: 3

selector:

matchlabels:

template:

metadata:

labels:

spec:

nodename: node1

containers:

- name: myweb

image: nginx

ports:

- containerport: 80

執行:檢視:

[root@master scheduler]

# kubectl get pod -o wide

name ready status restarts age ip node nominated node readiness gates

myweb-7d8cc57dd8-24glf 1/1 running 0 67s 10.244.1.28 node1

myweb-7d8cc57dd8-l9xf8 1/1 running 0 67s 10.244.1.29 node1

myweb-7d8cc57dd8-slzv5 1/1 running 0 67s 10.244.1.30 node1

pod.spec.nodeselector:通過 kubernetes 的 label-selector 機制選擇節點,由排程器排程策略匹配 label,而後排程 pod 到目標節點,該匹配規則屬於強制約束

先給節點node1打個標籤:

kubectl label nodes worker node1 key=web1
[root@master scheduler]

# kubectl get node --show-labels

name status roles age version labels

master ready master 30h v1.19.4

node1 ready worker 30h v1.19.4 key=web1

node2 ready worker 30h v1.19.4

**:

[root@master scheduler]

# cat label-select.yml

kind: deployment

metadata:

name: myweb

spec:

replicas: 3

selector:

matchlabels:

template:

metadata:

labels:

spec:

nodeselector:

key: web1

containers:

- name: myweb

image: nginx

ports:

- containerport: 80

執行:結果:都排程到了node1節點

[root@master scheduler]

# kubectl get pod -o wide

name ready status restarts age ip node nominated node readiness gates

myweb-64cb54fc84-6m467 1/1 running 0 41s 10.244.1.31 node1

myweb-64cb54fc84-dqpbz 1/1 running 0 41s 10.244.1.32 node1

myweb-64cb54fc84-g6vg9 1/1 running 0 41s 10.244.1.33 node1

指定排程節點

一 pod.spec.nodename將 pod 直接排程到指定名稱 node 節點上,會跳過 scheduler 的排程策略,該匹配規則是強制匹配apiversion extensions v1beta1 kind deployment metadata name myweb spec repli...

k8s排程 原理 K8s排程原理和Pod生命週期

1 k8s排程原理 pod只存在某乙個物理節點上,可以執行多個container 2 pod的生命週期 暫停pod,可以暫停deployment kubectl get depolyment kubectl scale replicas 0 deployment 刪除pod。刪除之後,狀態變成suc...

k8s 節點擴容

對於已經存在的集群,想要擴容,將乙個新的node假如集群需要在master上執行以下命令,生成token sudo kubeadm token create print join command然後在想要假如的node上執行 sudo kubeadm join假如新加入的node存在以下問題則在此n...