debian

Debian上K8S集群如何搭建

小樊
36
2025-04-24 09:02:33
栏目: 智能运维

在Debian上搭建Kubernetes(k8s)集群是一个相对复杂的过程,需要仔细规划和执行多个步骤。以下是一个基本的指南,帮助你在Debian系统上使用kubeadm工具搭建Kubernetes集群。

硬件和软件要求

安装步骤

  1. 设置主机名和更新hosts文件: 在每个节点上使用 hostnamectl 命令设置主机名,并在 /etc/hosts 文件中添加节点IP和主机名的映射。

  2. 关闭所有节点的swap分区: 为了确保kubelet顺利运行,建议禁用swap分区。在所有节点上运行以下命令关闭交换分区:

    sudo swapoff -a
    sudo sed -i '/ swap / s/1/g' /etc/fstab
    
  3. 为Kubernetes集群添加防火墙规则: 如果你的Debian系统已启用操作系统防火墙,请在主控节点和工作节点上分别允许以下端口:

    sudo ufw allow 6443/tcp
    sudo ufw allow 2379/tcp
    sudo ufw allow 2380/tcp
    sudo ufw allow 10250/tcp
    sudo ufw allow 10251/tcp
    sudo ufw allow 10252/tcp
    sudo ufw allow 10255/tcp
    sudo ufw reload
    
  4. 在所有节点上安装containerd运行时

    • 设置内核参数:
      sudo tee /etc/modules-load.d/containerd.conf << EOF
      overlay br_netfilter
      EOF
      sudo modprobe overlay
      sudo modprobe br_netfilter
      
    • 配置containerd:
      sudo mkdir -p /etc/containerd
      sudo tee /etc/containerd/config.toml << EOF
      [plugins."io.containerd.grpc.v1.containerd"]
      suspend_timeout = 24h
      EOF
      sudo systemctl restart containerd
      sudo systemctl enable containerd
      
  5. 添加Kubernetes apt仓库: 在所有节点上添加Kubernetes的apt仓库:

    curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
    echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
    sudo apt update
    
  6. 安装Kubernetes工具: 在所有节点上安装kubelet、kubeadm和kubectl,并固定版本:

    sudo apt update
    sudo apt install -y kubelet kubeadm kubectl
    sudo apt-mark hold kubelet kubeadm kubectl
    
  7. 使用kubeadm安装Kubernetes集群

    • 在主控节点上初始化集群:
      sudo kubeadm init --apiserver-advertise-address <master-node-ip>
      
    • 在主控节点上生成加入命令:
      kubeadm token create --print -join-command
      
    • 在工作节点上使用生成的加入命令将它们加入集群:
      sudo kubeadm join <master-node-ip>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
      
  8. 使用Calico设置Pod网络

    • 下载并应用Calico配置:
      wget https://docs.projectcalico.org/manifests/calico.yaml
      kubectl apply -f calico.yaml
      
    • 如果有防火墙,则开放Calico端口:
      sudo ufw allow 179/tcp
      sudo ufw allow 4789/udp
      sudo ufw allow 51820/udp
      sudo ufw allow 51821/udp
      sudo ufw reload
      
  9. 验证集群

    • 在主节点上运行以下命令以检查集群组件的状态:
      kubectl cluster-info
      kubectl get nodes
      
    • 验证Pod网络:
      kubectl get pods -n kube-system
      

通过以上步骤,你应该能够在Debian 12上成功搭建一个基本的Kubernetes集群。请注意,这只是一个基础指南,实际生产环境可能需要更多的配置和优化。

0
看了该问题的人还看了