Debian 上 Kubernetes 集群的日常管理指南
一 基础配置与访问
- 配置 kubectl 管理员权限:在主节点执行
- mkdir -p $HOME/.kube
- sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
- sudo chown $(id -u):$(id -g) $HOME/.kube/config
- 常用健康检查与概览:
- kubectl cluster-info
- kubectl get nodes
- kubectl get pods -A
- 确保控制平面与工作节点时间同步(例如使用 chrony 或 systemd-timesyncd),避免因时间漂移导致证书校验异常。
二 节点生命周期管理
- 新增节点
- 在主节点生成加入命令:kubeadm token create --print-join-command
- 在待加入节点执行输出的 kubeadm join 命令(包含 –token 与 –discovery-token-ca-cert-hash 参数)。
- 安全下线与移除
- 标记不可调度:kubectl cordon
- 驱逐工作负载:kubectl drain --ignore-daemonsets --delete-emptydir-data
- 从集群删除节点对象:kubectl delete node
- 如需重装,可在该节点清理后重新执行 join 命令。
- 查看节点详情
- kubectl get nodes -o wide
- kubectl describe node (排查资源、污点、事件等)
三 网络与系统维护
- 网络插件
- 选择并部署 Calico 等 CNI 插件(确保与初始化时的 Pod CIDR 一致,例如 10.244.0.0/16):
- kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
- 部署完成后验证:kubectl get pods -n kube-system,确认 coredns、calico 等处于 Running。
- 系统层面
- 保持 Swap 禁用:sudo swapoff -a 并注释 /etc/fstab 中 swap 行,避免 kubelet 异常。
- 内核参数与模块:确保 br_netfilter、overlay 等已加载,net.bridge.bridge-nf-call-iptables=1 等 sysctl 配置正确,以满足 kube-proxy/IPVS 需求。
- 容器运行时:如使用 containerd,建议通过 systemd 管理,配置 cgroups 驱动一致(systemd),并开启日志轮转。
四 应用部署与日常运维
- 快速部署示例
- 部署应用:kubectl create deployment nginx --image=nginx:latest
- 暴露服务:kubectl expose deployment nginx --type=NodePort --port=80
- 验证:kubectl get svc nginx,访问节点 IP:NodePort
- 扩缩与更新
- 水平扩缩:kubectl scale deployment nginx --replicas=3
- 滚动更新:kubectl set image deployment/nginx nginx=nginx:1.27
- 回滚:kubectl rollout undo deployment/nginx
- 配置与密钥
- 使用 ConfigMap 管理非敏感配置,使用 Secret 管理敏感信息(如数据库密码、TLS 证书),通过环境变量或卷挂载注入。
- 日常巡检清单
- 节点与系统资源:kubectl top nodes / kubectl top pods -A
- 事件与告警:kubectl get events --sort-by=.metadata.creationTimestamp
- 日志排查:kubectl logs [-c ];必要时 kubectl exec -it – sh。
五 可视化与多集群管理
- 可视化与观测
- Kubernetes Dashboard:Web UI 进行资源浏览、日志与故障排查(需配置认证代理/Token)。
- Weave Scope:拓扑视图与资源热点定位,便于性能瓶颈分析。
- 多集群与策略治理
- Rancher:统一控制台管理多云/多集群,提供用户与访问控制、应用分发与合规策略。
- VMware Tanzu Mission Control:集中化多集群治理、策略一致性与跨集群故障切换。
- KubeFed:Kubernetes 官方联邦,用于在多个集群间协调与同步资源。
- 运维工具生态
- Prometheus + Grafana 监控、ELK/EFK 日志、Helm 应用打包、Gatekeeper 策略即代码,提升可观测性与治理效率。