温馨提示×

centos k8s如何加节点

小樊
49
2026-09-15 13:26:16
栏目: 智能运维

在 CentOS 上加节点到 Kubernetes(k8s)集群,通常分为 主节点准备 → 新节点配置 → 加入集群 三步。下面以 kubeadm 管理的集群 为例(最常见)。


一、前提条件(新节点必须满足)

新节点(Node)需要满足:

  • CentOS 7 或 8(推荐 7.9 / 8 Stream)
  • CPU ≥ 2 核,内存 ≥ 2G
  • 能访问 master 节点(网络互通)
  • 关闭防火墙 / SELinux / swap
  • 时间同步(ntp / chrony)

二、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 过期,可重新生成(默认 24 小时)


三、新节点(CentOS)配置

1. 关闭防火墙和 SELinux

systemctl stop firewalld
systemctl disable firewalld

setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

2. 关闭 swap

swapoff -a
sed -i '/swap/d' /etc/fstab

3. 配置内核参数

cat > /etc/sysctl.d/k8s.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

sysctl --system

4. 安装 container runtime(以 containerd 为例)

yum install -y containerd
systemctl enable --now containerd

(如使用 Docker):

yum install -y docker
systemctl enable --now docker

四、安装 kubeadm / kubelet / kubectl

cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0
EOF

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet

五、加入集群

在 新节点 执行 Master 给的 join 命令:

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

六、验证节点

在 Master 节点:

kubectl get nodes

看到新节点状态为 Ready 即成功。


七、常见问题

1. 节点 NotReady

  • 网络插件未安装(Calico / Flannel)
  • 查看日志:
journalctl -u kubelet -f

2. token 过期

kubeadm token create --print-join-command

3. 清理节点重新加

kubeadm reset

如果你用的是 特定版本 k8s(如 1.20 / 1.28) 或 特定网络插件(Calico / Flannel),可以告诉我,我可以给你更精确的命令。

0 踩