k8s node的隔離與恢復
使用於node的硬體公升級和維護,讓node脫離k8s的排程範圍
進行隔離時,只隔離了node,該node上執行的pod並不會自動停止,需要手動停止
1.使用yaml檔案進行隔離和恢復排程(可能系統會報錯,不允許進行隔離)
隔離:vim unschedule_node.yaml
apiversion: v1
kind: node
metadata:
name: kubernetes-node1
labels:
kubernetes.io/hostname: kubernetes-node1
spec:
unschedulable: true
使用kubectl replace修改node的狀態
kubectl replace -f unschedule_node.yaml
檢視node的狀態,注意schedulingdisabled
kubectl get nodes
將unschedule_node.yaml檔案種的unschedulagle: true改為unschedulagle: false後再執行yaml檔案可以恢復排程
kubectl replace -f unschedule_node.yaml
檢視node狀態無schedulingdisabled
kubectl get nodes
2.使用kubectl patch實現node的隔離和恢復排程,需要配置patch
隔離kubectl patch node1 kubernetes-node1 '}'
恢復排程
kubectl patch node1 kubernetes-node1 '}'
3.使用cordon和uncordon進行隔離和恢復排程
[root@kubernetes k8s]# kubectl cordon kubernetes-node1
node/kubernetes-node1 cordoned
[root@kubernetes k8s]# kubectl get nodes
name status roles age version
kubernetes ready master 176d v1.13.3
kubernetes-node1 ready,schedulingdisabled 176d v1.13.3
kubernetes-node2 ready 176d v1.13.3
[root@kubernetes k8s]# kubectl uncordon kubernetes-node1
node/kubernetes-node1 uncordoned
[root@kubernetes k8s]# kubectl get nodes
name status roles age version
kubernetes ready master 176d v1.13.3
kubernetes-node1 ready 176d v1.13.3
kubernetes-node2 ready 176d v1.13.3
3 3 故障解決 k8s node節點刪除
在加入集群的時候nede節點出了問題,無法加入或者加入之後一直是不能用的狀態。我們可以先存集群中這個故障節點刪除,再重新加入,前提是這個節點沒有任何pod在執行 kubectl get node為了安全期間還是查一下,防止刪除錯誤。kubectl get pods o wide grep node3...
k8s node節點刪除及重新加入
列出所有nodes kubectl get node 刪除節點 kubectl delete node node3 kubectl delete type name 檢視對應node上的pods資訊 kubectl get pods o wide grep node3 重新加入 在刪除的node3對...
k8s node節點刪除並重新加入 激情燃燒的歲月
在工作中,由於各種各樣的原因需要把現有的node節點刪除,並且重新加入 k8s版本 1.13.4 安裝方式 二進位制 刪除node01節點 kubectl?delete?node?node01 在node01節點上刪除master節點批准其加入集群時,自動頒發的證書 自動頒發的證書,在node節點上...