以下是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
命令生成配置文件,复用集群配置,减少人工操作。高可用方案
参考来源: