在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状态)。参考来源: