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