首页主机资讯Debian环境下如何管理Kubernetes集群

Debian环境下如何管理Kubernetes集群

时间2025-11-25 20:05:03发布访客分类主机资讯浏览1480
导读:Debian环境下Kubernetes集群管理实操指南 一 环境准备与组件安装 系统要求与基础设置 建议使用Debian 12,节点间网络互通,主机名唯一,关闭Swap:sudo swapoff -a 并注释 /etc/fstab 中的...

Debian环境下Kubernetes集群管理实操指南

一 环境准备与组件安装

  • 系统要求与基础设置
    • 建议使用Debian 12,节点间网络互通,主机名唯一,关闭Swap:sudo swapoff -a 并注释 /etc/fstab 中的 swap 行。
    • 加载内核模块并开启转发(容器网络依赖):
      • sudo modprobe overlay & & sudo modprobe br_netfilter
      • echo -e “overlay\nbr_netfilter” | sudo tee /etc/modules-load.d/containerd.conf
      • echo -e “net.bridge.bridge-nf-call-iptables = 1\nnet.ipv4.ip_forward = 1” | sudo tee /etc/sysctl.d/99-kubernetes-k8s.conf
      • sudo sysctl --system
  • 容器运行时
    • 安装并启用containerd(推荐)或 Docker(亦可)。以 containerd 为例:
      • sudo apt update & & sudo apt install -y containerd
      • sudo systemctl enable --now containerd
  • 安装 kubeadm/kubelet/kubectl
    • 添加 Kubernetes APT 源并安装组件(示例为 Debian 12 使用 xenial 仓库名,实际以仓库提供为准):
      • sudo apt update & & sudo apt install -y apt-transport-https ca-certificates curl
      • curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor | sudo tee /usr/share/keyrings/kubernetes-archive-keyring.gpg > /dev/null
      • echo “deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main” | sudo tee /etc/apt/sources.list.d/kubernetes.list
      • sudo apt update & & sudo apt install -y kubelet kubeadm kubectl
      • sudo apt-mark hold kubelet kubeadm kubectl
      • sudo systemctl enable --now kubelet

二 集群初始化与网络插件

  • 初始化控制平面
    • 单控制面示例:sudo kubeadm init --pod-network-cidr=10.244.0.0/16
    • 高可用或指定端点示例:sudo kubeadm init --control-plane-endpoint MASTER_IP:6443 --upload-certs --pod-network-cidr 10.244.0.0/16
    • 初始化完成后按提示保存“kubeadm join …”命令用于工作节点接入。
  • 配置 kubectl
    • mkdir -p $HOME/.kube
    • sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    • sudo chown $(id -u):$(id -g) $HOME/.kube/config
  • 安装 CNI 网络插件(二选一)
    • Calico:kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
    • Flannel:kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
  • 验证
    • kubectl get nodes
    • kubectl get pods -A

三 日常运维与故障排查

  • 资源查看与诊断
    • 集群概览:kubectl cluster-info
    • 节点与系统组件:kubectl get nodes;kubectl get pods -n kube-system -o wide
    • 详细信息与事件:kubectl describe pod -n
    • 日志与进入容器:kubectl logs -f [-c ];kubectl exec -it – /bin/bash
    • 端口转发与临时访问:kubectl port-forward 8080:80
  • 应用生命周期与发布
    • 创建与暴露:kubectl create deployment nginx --image=nginx --replicas=2;kubectl expose deployment nginx --type=NodePort --port=80 --node-port=31000
    • 滚动更新与回滚:kubectl set image deployment/nginx nginx=nginx:1.25;kubectl rollout status deployment/nginx;kubectl rollout undo deployment/nginx
    • 扩缩容:kubectl scale deployment nginx --replicas=3
  • 资源清理
    • 按标签删除:kubectl delete pods,services -l app=myapp
    • 强制删除异常 Pod(谨慎):kubectl delete pod --force --grace-period=0

四 节点管理与集群升级

  • 节点管理
    • 加入工作节点:使用 kubeadm init 输出的 kubeadm join 命令在各 Worker 上执行。
    • 移除节点:在主节点执行 kubeadm reset(谨慎,会清理本机 K8s 状态),随后在集群中删除 Node 对象:kubectl delete node 。
  • 版本升级
    • 控制平面与节点升级流程建议遵循“先主后从、逐批升级”的原则,使用 kubeadm 执行升级计划与执行:
      • 检查可升级版本与计划:kubeadm upgrade plan
      • 升级控制平面:kubeadm upgrade apply v
      • 升级 kubelet/kubectl 并重启:sudo apt install -y kubelet= kubectl= & & sudo systemctl restart kubelet
      • 逐台升级工作节点(drain → 升级 → uncordon):kubectl drain --ignore-daemonsets;在节点上升级 kubelet/kubectl 并重启;kubectl uncordon
    • 升级前务必备份关键资源与 etcd 数据,并在测试环境验证。

五 安全加固与可观测性建议

  • 安全加固
    • 启用 RBAC 最小权限;为 kubeconfig 设置严格权限(600);限制 kubelet 只读访问;开启 Pod Security 或 PSP/OPA Gatekeeper;对外暴露服务优先使用 Service 类型(如 LoadBalancer/NodePort 结合 Ingress),避免直接暴露 API Server。
  • 可观测性
    • 监控与告警:部署 Prometheus + Grafana 采集节点/Pod 指标与 APIServer/Controller 等关键组件指标。
    • 日志:集中化日志(如 EFK/ELK 或 Loki+Promtail)收集容器与系统日志,便于审计与故障定位。
  • 可视化与多集群
    • 可使用 RancherKubeSphere 进行多集群管理、应用商店、CI/CD 集成与统一监控日志视图。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Debian环境下如何管理Kubernetes集群
本文地址: https://pptw.com/jishu/755899.html
Linux下怎样快速提取关键短语 Debian系统上Kubernetes集群的搭建方法

游客 回复需填写必要信息