首页主机资讯Debian下K8s部署步骤是什么

Debian下K8s部署步骤是什么

时间2026-01-22 08:21:03发布访客分类主机资讯浏览819
导读:Debian 下使用 kubeadm 部署 Kubernetes 的步骤 一 环境准备 节点与网络 至少准备1 台 Master + 1 台 Worker,推荐硬件:2 核 CPU、2 GB RAM、20 GB 磁盘。 各节点设置唯一主...

Debian 下使用 kubeadm 部署 Kubernetes 的步骤

一 环境准备

  • 节点与网络
    • 至少准备1 台 Master + 1 台 Worker,推荐硬件:2 核 CPU、2 GB RAM、20 GB 磁盘
    • 各节点设置唯一主机名,并保证节点间网络互通时间同步(如 chrony/ntpd)。
  • 系统配置
    • 关闭 Swap:sudo swapoff -a,并在 /etc/fstab 中注释 swap 行,避免 kubelet 启动失败。
    • 防火墙/安全组放行端口(见文末端口表)。
  • 容器运行时
    • 可选 Dockercontainerd(下文给出两种做法,二选一)。

二 安装容器运行时与依赖

  • 方案 A Docker(快速上手)
    • Debian 11/12 均可:
      sudo apt-get update
      sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
      curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg
      echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian \
        $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list >
           /dev/null
      sudo apt-get update
      sudo apt-get install -y docker-ce docker-ce-cli containerd.io
      sudo systemctl enable --now docker
      
  • 方案 B containerd(与 kubelet 原生集成,生产更推荐)
    • 安装与启用:
      sudo apt-get update
      sudo apt-get install -y containerd
      sudo mkdir -p /etc/containerd
      containerd config default | sudo tee /etc/containerd/config.toml
      sudo systemctl enable --now containerd
      
    • 如使用 systemd cgroup,可在 config.toml 的 [plugins.“io.containerd.grpc.v1.cri”.containerd.runtimes.runc.options] 下确保:
      • SystemdCgroup = true
  • 说明
    • 若使用 Docker,kubelet 会通过 dockershim 调用;若使用 containerd,建议直接使用其 CRI 插件。

三 安装 kubeadm kubelet kubectl

  • 添加 Kubernetes APT 源并安装组件(Debian 11/12 通用):
    sudo apt-get update
    sudo apt-get install -y apt-transport-https curl ca-certificates gnupg
    curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
    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 >
         /dev/null
    sudo apt-get update
    sudo apt-get install -y kubelet kubeadm kubectl
    sudo apt-mark hold kubelet kubeadm kubectl
    sudo systemctl enable --now kubelet
    
  • 说明
    • 上述源为官方 kubernetes-xenial 仓库,适用于 Debian 11/12;安装后请保持 kubelet 开机自启。

四 初始化控制平面与配置 kubectl

  • 在 Master 节点初始化(按需替换参数):
    # 单 Master 常用示例(使用 Flannel 时 pod-network-cidr=10.244.0.0/16)
    sudo kubeadm init --pod-network-cidr=10.244.0.0/16
    
    # 如需指定 API 地址或版本,可附加:
    # --apiserver-advertise-address=<
        MASTER_IP>
         --kubernetes-version=v1.28.0
    
  • 配置 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 网络插件(二选一)
    • Flannel(简单通用):
      kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
      
    • Calico(策略更丰富):
      kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
      
  • 在 Worker 节点加入集群
    • 使用 kubeadm init 完成后输出的 kubeadm join 命令,或按需生成新 token:
      # 生成新的加入命令(在 Master 上)
      kubeadm token create --print-join-command
      # 在 Worker 上执行输出的 join 命令
      
  • 验证
    kubectl get nodes
    kubectl get pods -A
    
  • 说明
    • 若初始化时未指定 –pod-network-cidr,请确保与所选 CNI 的默认网段一致(Flannel 默认 10.244.0.0/16)。

五 常用维护与注意事项

  • 常用维护
    • 重置节点(重装前清理):
      sudo kubeadm reset
      sudo rm -rf /etc/cni/net.d
      sudo iptables -F &
          &
           sudo iptables -t nat -F &
          &
           sudo iptables -t mangle -F &
          &
           sudo iptables -X
      
    • 重新生成 join 命令(token 过期时):
      kubeadm token create --print-join-command
      
  • 端口与网络
    • 建议放行端口(Master:6443、2379-2380、10250、10251、10252;Worker:10250、30000-32767),或临时关闭防火墙用于排障。
  • 生产建议
    • 采用 多 Master 高可用、配置 持久化存储、启用 RBAC网络策略,并定期升级集群版本。

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


若转载请注明出处: Debian下K8s部署步骤是什么
本文地址: https://pptw.com/jishu/789770.html
怎样在Debian上运行K8s 如何用ifconfig为Ubuntu添加IP别名

游客 回复需填写必要信息