温馨提示×

Debian K8s安装后如何管理集群

小樊
35
2025-11-23 10:10:59
栏目: 智能运维

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
  • 确保控制平面与工作节点时间同步(例如使用 chronysystemd-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_netfilteroverlay 等已加载,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 策略即代码,提升可观测性与治理效率。

0