温馨提示×

centos k8s部署如何扩容

小樊
42
2026-07-09 14:31:51
栏目: 智能运维

CentOS 上部署的 Kubernetes(k8s)扩容,通常分为 Node 节点扩容Pod 扩容。下面按常见场景给你一个完整说明(以 kubeadm 部署 为主,最常用)。


一、K8s Node 节点扩容(新增节点)

适用于:集群资源不足,需要新增 CentOS 节点。

1️⃣ 新节点准备(所有新节点执行)

系统要求

  • CentOS 7 / 8(建议 7.9)
  • 2 CPU + 4G 内存以上
  • 禁用 swap
  • 时间同步(NTP)
# 关闭 swap
swapoff -a
sed -i '/swap/s/^/#/' /etc/fstab

# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 禁用 SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

加载内核模块

cat <<EOF | tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF

modprobe br_netfilter

内核参数

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

sysctl --system

2️⃣ 安装容器运行时(containerd 示例)

yum install -y containerd
mkdir -p /etc/containerd
containerd config default > /etc/containerd/config.toml

# 修改 SystemdCgroup = true
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml

systemctl enable --now containerd

3️⃣ 安装 kubeadm / kubelet / kubectl

cat <<EOF | tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.28/rpm/repodata/repomd.xml.key
EOF

yum install -y kubelet kubeadm kubectl
systemctl enable kubelet

4️⃣ 获取 Master 加入命令

Master 节点 执行:

kubeadm token create --print-join-command

输出类似:

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

5️⃣ 新节点加入集群

在新节点执行上面输出的命令:

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

6️⃣ 验证节点

在 Master 上:

kubectl get nodes

状态为 Ready 即成功。


二、Pod 扩容(Deployment 扩容)

适用场景:服务压力增大,增加副本数。

1️⃣ 查看当前副本

kubectl get deployment

2️⃣ 扩容(例如扩容到 5 个)

kubectl scale deployment nginx --replicas=5

3️⃣ 自动扩容(HPA)

kubectl autoscale deployment nginx \
--cpu-percent=50 \
--min=2 --max=10

三、Master 节点扩容(高可用)

⚠️ 生产环境建议 3 / 5 个 Master。

步骤简述:

  1. 新节点安装 kubeadm
  2. 从现有 Master 拷贝证书
  3. kubeadm join --control-plane

如你需要,我可以单独给你 Master 高可用扩容完整步骤


四、常见问题排查

节点 NotReady

journalctl -u kubelet -f
kubectl describe node <node-name>

CNI 网络问题

  • Calico / Flannel 是否正常
  • 新节点是否和 Master 网络互通

五、总结

扩容类型 命令/方式
新增 Node kubeadm join
Pod 扩容 kubectl scale
自动扩容 HPA
Master 扩容 kubeadm join --control-plane

如果你愿意,可以告诉我:

  • ✅ k8s 版本
  • ✅ 单 Master 还是多 Master
  • ✅ 容器运行时(docker / containerd)

我可以给你 完全贴合你环境的扩容方案

0