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...