Skip to main content
集群搭起来只是开始。本章讲日常运维的核心工作:扩缩节点、版本升级、证书轮换、etcd 备份、监控与日志。

kubeadm 集群生命周期

kubeadm init 完成初始化后,集群的日常生命周期操作围绕节点和版本展开。

添加节点

升级集群

1

升级控制平面节点

先升级第一个控制平面节点。更新 kubeadm 包后执行 kubeadm upgrade plan 查看可升级版本,确认后用 kubeadm upgrade apply v1.30.x 应用。然后升级该节点的 kubeletkubectl 并重启 kubelet。
2

升级其余控制平面节点

逐个执行 kubeadm upgrade node,再升级 kubelet。一次只处理一个节点,保证控制平面始终有法定人数。
3

升级工作节点

kubectl drain 驱逐负载,执行 kubeadm upgrade node,升级 kubelet 并重启,最后 kubectl uncordon 恢复调度。
4

验证集群状态

kubectl get nodes 确认所有节点版本一致且状态为 Ready
升级只能逐个小版本进行,例如 v1.28 → v1.29 → v1.30,不能跨版本跳跃。

证书管理与轮换

kubeadm 签发的集群证书默认有效期一年,到期前必须轮换。
升级 kubeadm 集群时证书会自动轮换。不升级的年份里,要手动执行 renew 并记录进运维日历。

etcd 备份与恢复

etcd 存着集群的全部状态,备份它就是备份整个集群。
恢复后修改 etcd 静态 Pod 清单的 --data-dir 指向新目录,等待 kubelet 拉起即可。
备份应定时执行并异地保存。写一条 cron 任务,配合快照校验 etcdctl snapshot status

节点日常维护

维护一台节点的标准流程:

集群监控

  • metrics-server:提供 kubectl top 和 HPA 所需的基础指标,用官方清单一键部署。
  • Prometheus + Grafana:生产标配。推荐用 kube-prometheus-stack Helm Chart 部署,一次获得节点、组件、应用三层监控和告警规则。

日志体系

Kubernetes 日志分三层:
  1. 节点日志:journalctl -u kubelet 查看系统组件日志。
  2. 容器日志:kubectl logs 读取 stdout/stderr,文件落在节点的 /var/log/containers
  3. 集群事件:kubectl get events 记录调度与生命周期事件,默认只保留一小时。
生产环境用 EFK(Elasticsearch + Fluent Bit + Kibana)或更轻量的 Loki + Grafana 做日志集中采集。

常用巡检命令清单

延伸阅读