debian

Debian系统Kubernetes节点如何加入集群

小樊
44
2025-06-11 21:51:20
栏目: 智能运维

要在Debian系统上将节点加入到Kubernetes集群,可以按照以下步骤进行操作:

准备工作

  1. 确保系统要求

    • 确保你的Debian系统已经安装并且更新到最新。
    • 确保你有管理员权限的sudo用户。
    • 确保每个节点都能通过可靠的网络连接与其他节点通信。
  2. 设置主机名和更新hosts文件: 在所有节点上使用 hostnamectl 命令设置主机名,并在 /etc/hosts 文件中添加节点IP和主机名的映射。

    sudo hostnamectl set-hostname "k8s-master"
    echo "192.168.1.236 k8s-master" | sudo tee -a /etc/hosts
    
  3. 关闭所有节点的swap分区: 为了让kubelet顺利运行,建议禁用swap。

    sudo swapoff -a
    sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
    
  4. 为Kubernetes集群添加防火墙规则: 如果你的Debian系统已启用操作系统防火墙,请在所有节点上允许以下端口:

    • 主控节点:6443/tcp, 2379/tcp, 2380/tcp, 10250/tcp, 10251/tcp, 10252/tcp, 10255/tcp
    • 工作节点:10250/tcp, 30000:32767/tcp
    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
    
  5. 在所有节点上安装containerd运行时: containerd是Kubernetes支持的行业标准容器运行时。

    sudo apt update
    sudo apt install -y containerd
    sudo modprobe overlay
    sudo modprobe br_netfilter
    sudo tee /etc/modules-load.d/containerd.conf <<EOF
    overlay
    br_netfilter
    EOF
    sudo sysctl --system
    

加入工作节点

  1. 初始化主节点: 在主节点上使用 kubeadm init 命令初始化集群。

    sudo kubeadm init --pod-network-cidr=10.244.0.0/16
    
  2. 配置kubectl: 在主节点上配置 kubectl 以连接到集群。

    mkdir -p $HOME/.kube
    sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    sudo chown $(id -u):$(id -g) $HOME/.kube/config
    
  3. 安装网络插件: 以Flannel为例,安装Flannel网络插件。

    kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    
  4. 加入工作节点: 在每个工作节点上,使用从主节点初始化中获得的 join 命令,将它们加入集群。

    sudo kubeadm join 192.168.1.236:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
    

验证安装

初始化完成后,你可以使用以下命令来验证集群是否正常运行:

kubectl get nodes

以上步骤涵盖了在Debian系统上将节点加入到Kubernetes集群的基本流程。

0
看了该问题的人还看了