温馨提示×

centos部署k8s如何扩容

小樊
41
2026-09-09 09:27:52
栏目: 智能运维

CentOS 上部署的 Kubernetes(k8s)扩容,通常分为 Node 节点扩容(加机器)Pod / 资源扩容(加副本或资源) 两种场景。下面按常见方式说明。


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

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

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

# 关闭 SELinux
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

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

# 设置主机名
hostnamectl set-hostname node-new

# 配置 hosts(可选)
cat >> /etc/hosts <<EOF
192.168.1.10 master
192.168.1.11 node1
192.168.1.12 node-new
EOF

2. 安装 Docker / containerd

(以 Docker 为例)

yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl enable docker && systemctl start docker

3. 安装 kubeadm / kubelet / kubectl

cat > /etc/yum.repos.d/kubernetes.repo <<EOF
[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

4. Master 生成加入命令

Master 节点 执行:

kubeadm token create --print-join-command

输出类似:

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

5. 新节点加入集群

在新节点执行:

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

6. 验证

在 Master:

kubectl get nodes

状态为 Ready 即扩容成功。


二、Pod 副本扩容(Deployment)

方式 1:命令行

kubectl scale deployment my-app --replicas=5

方式 2:修改 YAML

spec:
  replicas: 5
kubectl apply -f deployment.yaml

三、资源扩容(CPU / 内存)

修改 Deployment:

resources:
  requests:
    cpu: "500m"
    memory: "512Mi"
  limits:
    cpu: "1"
    memory: "1Gi"
kubectl apply -f deployment.yaml

四、自动扩容(HPA)

kubectl autoscale deployment my-app \
  --cpu-percent=70 \
  --min=2 \
  --max=10

五、常见问题

  • 新节点 NotReady
    → 检查网络插件(Calico / Flannel)是否安装
  • token 过期
    → 重新 kubeadm token create
  • 内核参数问题
    modprobe br_netfilter
    sysctl -w net.bridge.bridge-nf-call-iptables=1
    

如果你能说明:

  • 用的是 kubeadm / 二进制 / RKE / kubesphere
  • Master 扩容还是 Node 扩容
  • CentOS 版本(7 或 8)

我可以给你更精确的扩容步骤。

0