温馨提示×

debian k8s如何加节点

小樊
32
2026-09-29 10:15:40
栏目: 智能运维

在 Debian 上把新节点加入 Kubernetes 集群,通常分 kubeadm 方式 和 手动/其他工具方式。下面以最常见的 kubeadm + Debian 为例说明。


一、前提条件(新节点)

新节点需要满足:

  • Debian 10/11/12(已更新系统)
  • 能连通 Master 节点网络
  • 已安装:
    • containerd 或 docker
    • kubelet、kubeadm、kubectl
    • 关闭 swap
    • 配置内核参数(桥接、ip_forward)

二、Master 节点操作(获取加入命令)

在 Master 节点执行:

kubeadm token create --print-join-command

输出类似:

kubeadm join 192.168.1.10:6443 \
  --token abcdef.0123456789abcdef \
  --discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxx

如果 token 过期,可重新生成

kubeadm token create --ttl 2h

三、新 Debian 节点配置

1. 关闭 swap

sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab

2. 安装容器运行时(以 containerd 为例)

sudo apt update
sudo apt install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd

3. 安装 kubeadm / kubelet / kubectl

sudo apt update
sudo apt install -y apt-transport-https ca-certificates curl

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | \
  sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /" | \
  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

四、加入集群(新节点执行)

把 Master 上生成的 kubeadm join 命令在新节点执行:

sudo kubeadm join 192.168.1.10:6443 \
  --token abcdef.0123456789abcdef \
  --discovery-token-ca-cert-hash sha256:xxxxxxxx

成功后会看到:

This node has joined the cluster

五、Master 上确认节点

kubectl get nodes

如果状态是 NotReady:

  • 等待 CNI 插件(Calico / Flannel)同步
  • 检查网络插件是否正常

六、可选:给节点打标签

kubectl label node node-name node-role.kubernetes.io/worker=

七、常见问题

  • NotReady:CNI 未安装或网络不通
  • token 过期:重新 kubeadm token create
  • hostname 冲突:修改 /etc/hostname

如果你用的是 Debian + RKE / k3s / 云厂商 K8s,可以告诉我具体环境,我可以给你对应方式。

0 踩