首页主机资讯Debian与K8s的集成安装指南

Debian与K8s的集成安装指南

时间2026-01-14 12:39:04发布访客分类主机资讯浏览699
导读:Debian 与 Kubernetes 集成安装指南 一 环境准备与前置条件 操作系统建议使用 Debian 11/12,每个节点至少 2 核 CPU、2 GB RAM、20 GB 磁盘,并确保节点间 IP 互通、网络稳定。 设置主机名并...

Debian 与 Kubernetes 集成安装指南

一 环境准备与前置条件

  • 操作系统建议使用 Debian 11/12,每个节点至少 2 核 CPU、2 GB RAM、20 GB 磁盘,并确保节点间 IP 互通、网络稳定。
  • 设置主机名并写入 /etc/hosts(示例):
    • 主节点:sudo hostnamectl set-hostname k8s-master
    • 工作节点:sudo hostnamectl set-hostname k8s-worker1
    • /etc/hosts 追加:
      192.168.1.236 k8s-master
      192.168.1.237 k8s-worker1
      192.168.1.238 k8s-worker2
      
  • 关闭交换分区(Kubelet 要求):
    • 临时:sudo swapoff -a
    • 永久:sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
  • 防火墙放行端口(如使用 UFW):
    • 主节点:sudo ufw allow 6443,2379,2380,10250,10251,10252,10255/tcp & & sudo ufw reload
    • 工作节点:sudo ufw allow 10250/tcp & & sudo ufw allow 30000:32767/tcp & & sudo ufw reload
  • 加载内核模块与开启转发(容器网络依赖):
    cat <
        <
        EOF | sudo tee /etc/modules-load.d/containerd.conf
    overlay
    br_netfilter
    EOF
    sudo modprobe overlay
    sudo modprobe br_netfilter
    cat <
        <
        EOF | sudo tee /etc/sysctl.d/99-kubernetes-k8s.conf
    net.bridge.bridge-nf-call-iptables  = 1
    net.ipv4.ip_forward                 = 1
    net.bridge.bridge-nf-call-ip6tables = 1
    EOF
    sudo sysctl --system
    

以上准备确保节点满足 Kubernetes 的网络与 kubelet 运行要求。

二 安装容器运行时 Containerd

  • 安装 Containerd:
    sudo apt update &
        &
         sudo apt install -y containerd
    
  • 生成默认配置并启用 SystemdCgroup:
    containerd config default | sudo tee /etc/containerd/config.toml >
        /dev/null 2>
        &
        1
    sudo sed -i 's/SystemdCgroup \= false/SystemdCgroup \= true/g' /etc/containerd/config.toml
    
  • 重启并设为开机自启:
    sudo systemctl restart containerd
    sudo systemctl enable containerd
    

说明:当前主流实践是使用 Containerd 作为容器运行时,并在配置中开启 SystemdCgroup = true 以与 systemd 协同。

三 安装 kubeadm kubelet kubectl

  • 安装依赖与添加 Kubernetes APT 源(使用 Debian 的 xenial 仓库名):
    sudo apt-get update &
        &
         sudo apt-get install -y apt-transport-https curl gnupg2 software-properties-common
    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/cgoogle.gpg
    sudo apt-add-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
    
  • 安装组件(如需固定版本,可指定如 1.26.0-00):
    sudo apt-get update
    sudo apt-get install -y kubelet kubeadm kubectl
    # 固定版本示例:
    # sudo apt-get install -y kubelet=1.26.0-00 kubeadm=1.26.0-00 kubectl=1.26.0-00
    sudo apt-mark hold kubelet kubeadm kubectl
    
  • 启动 kubelet:
    sudo systemctl daemon-reload
    sudo systemctl enable --now kubelet
    

以上步骤完成 Kubernetes 组件安装与版本固定,便于可重复部署与回滚。

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

  • 在主节点初始化(可按需自定义 Pod/Service CIDR):
    sudo kubeadm init \
      --control-plane-endpoint=k8s-master \
      --pod-network-cidr=10.244.0.0/16 \
      --service-cidr=10.100.0.0/16
    
  • 配置 kubectl(普通用户):
    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  • 可选:指定镜像仓库(如国内镜像加速)
    • 在 init 时加入:--image-repository registry.aliyuncs.com/google_containers
      说明:初始化完成后,控制台会输出 kubeadm join 命令,用于工作节点加入集群。

五 安装网络插件与加入工作节点

  • 安装网络插件(二选一,确保与 Pod CIDR 一致):
    • 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
      
  • 工作节点加入集群(使用 kubeadm init 输出命令):
    sudo kubeadm join <
        master-ip>
        :6443 \
      --token <
        token>
         \
      --discovery-token-ca-cert-hash sha256:<
        hash>
        
    
  • 验证:
    kubectl cluster-info
    kubectl get nodes
    kubectl get pods -n kube-system
    

网络插件就绪后,节点状态将变为 Ready,集群可正常调度 Pod。

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


若转载请注明出处: Debian与K8s的集成安装指南
本文地址: https://pptw.com/jishu/778509.html
Debian系统K8s安装的最佳实践分享 ubuntu ifconfig怎样查看DNS服务器

游客 回复需填写必要信息