在Debian上管理K8S節點,主要涉及安裝配置、節點操作及監控維護,具體如下:
準備工作
swap
分區:sudo swapoff -a
并注釋/etc/fstab
中swap相關行。/etc/hosts
文件,確保節點間IP解析正確。kubelet
、kubeadm
、kubectl
):sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl # 鎖定版本
初始化主節點
在主節點執行:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
(根據需求指定Pod網絡CIDR)。
初始化后獲取加入命令(含token
和ca-cert-hash
),用于工作節點加入集群。
加入工作節點
在工作節點執行主節點生成的kubeadm join
命令:
sudo kubeadm join <master-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
。
查看節點狀態
kubectl get nodes
。kubectl describe node <節點名>
。添加/刪除節點
kubeadm join
命令加入。kubectl drain <節點名> --ignore-daemonsets
。kubectl delete node <節點名>
。節點維護
kubectl label nodes <節點名> key=value
。kubectl taint nodes <節點名> key=value:NoSchedule
。cordon
),維護后恢復(uncordon
):kubectl cordon <節點名> # 標記為不可調度
kubectl uncordon <節點名> # 恢復可調度
```。
kubectl top nodes
(查看節點資源使用)、kubectl get pods -A
(查看Pod狀態)。參考來源: