以下是Ubuntu上Kubernetes節點管理的實用技巧,涵蓋基礎操作與優化實踐:
節點狀態維護
kubectl drain <node-name> 驅逐節點上的Pod,避免服務中斷。kubectl cordon <node-name> 標記節點為不可調度,防止新Pod調度到該節點。kubectl uncordon <node-name> 恢復節點調度狀態。節點加入與移除
kubeadm join <master-ip>:<port> --token <token>,需提前在Master節點生成join命令。kubectl delete node <node-name>,并確保節點已正確清理。基礎環境設置
sudo swapoff -a 并注釋 /etc/fstab 中的Swap配置,避免影響Kubernetes性能。echo "net.bridge.bridge-nf-call-iptables=1" > /etc/sysctl.d/k8s.conf 并執行 sysctl --system。chrony 或 ntp 確保節點時間一致,避免因時間差導致集群異常。網絡插件配置
kubectl apply -f <插件YAML> 安裝,例如Calico:kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml。安全加固
ufw)限制節點間通信端口,僅開放Kubernetes必要端口。監控與日志
kubectl top nodes 查看節點資源使用情況,結合Prometheus+Grafana實現可視化監控。自動化部署
kubeadm config命令生成配置文件,復用集群配置,減少人工操作。高可用方案
參考來源: