在CentOS上對Kubernetes(k8s)集群進行縮容,主要涉及刪除節點或減少工作負載。以下是詳細的步驟:
登錄到要刪除的節點: 使用SSH登錄到你想要從集群中移除的節點。
停止節點上的Kubernetes服務:
sudo systemctl stop kubelet
sudo systemctl stop kube-proxy
從集群中驅逐節點:
使用kubectl命令將節點從集群中驅逐,這將使調度器不再在該節點上調度新的Pod。
sudo kubectl drain <node-name> --ignore-daemonsets --delete-local-data
<node-name> 是你要刪除的節點的名稱。--ignore-daemonsets 選項會忽略DaemonSet管理的Pod,因為這些Pod通常需要保留在每個節點上。--delete-local-data 選項會刪除節點上的本地數據,如果你希望保留這些數據,請省略此選項。驗證節點已從集群中移除:
kubectl get nodes
確認你要刪除的節點不再出現在列表中。
物理刪除節點(可選): 如果你打算完全移除該節點,可以將其從物理服務器上移除。
如果你只是想減少集群中的工作負載數量,而不是刪除節點,可以通過以下步驟實現:
查看當前Pod數量:
kubectl get pods --all-namespaces
刪除不必要的Pod:
根據需要手動刪除Pod,或者使用kubectl delete pod <pod-name>命令刪除特定的Pod。
調整Deployment或StatefulSet的副本數量: 如果你使用的是Deployment或StatefulSet來管理Pod,可以通過修改其副本數量來減少Pod的數量。
kubectl scale deployment <deployment-name> --replicas=<new-replica-count>
<deployment-name> 是你的Deployment名稱。<new-replica-count> 是你希望設置的副本數量。驗證Pod數量已減少:
kubectl get pods --all-namespaces
確認Pod數量已經減少到你期望的數量。
通過以上步驟,你可以在CentOS上安全地對Kubernetes集群進行縮容操作。