温馨提示×

linux k8s怎么扩容

小樊
34
2026-10-27 21:17:37
栏目: 智能运维

在 Linux 上使用 Kubernetes(k8s)进行“扩容”,通常分为 集群扩容(增加节点) 和 工作负载扩容(增加 Pod 副本) 两种场景。下面分别说明。


一、工作负载扩容(Pod 扩容)

1️⃣ 使用 kubectl 手动扩容

kubectl scale deployment <deployment-name> --replicas=5 -n <namespace>

示例:

kubectl scale deployment nginx --replicas=5 -n default

2️⃣ 修改 YAML 文件

spec:
  replicas: 5

然后应用:

kubectl apply -f deployment.yaml

3️⃣ 自动扩容(HPA)

基于 CPU / 内存自动扩容:

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

查看 HPA:

kubectl get hpa

二、Kubernetes 集群扩容(增加节点)

情况 1:kubeadm 部署的集群

1️⃣ 在 Master 上生成加入命令

kubeadm token create --print-join-command

2️⃣ 在新节点上执行

kubeadm join <master-ip>:6443 \
  --token <token> \
  --discovery-token-ca-cert-hash sha256:<hash>

3️⃣ 确认节点状态

kubectl get nodes

情况 2:使用 kubespray / RKE / 云厂商

  • kubespray
# 修改 inventory 文件
ansible-playbook cluster.yml
  • RKE
# 修改 cluster.yml,添加 node
rke up
  • 云厂商(ACK / EKS / GKE)
    • 控制台直接加节点
    • 或修改节点池(NodePool)数量

三、扩容存储(PVC 扩容)

1️⃣ 修改 PVC(需 StorageClass 支持 Expand)

spec:
  resources:
    requests:
      storage: 20Gi
kubectl apply -f pvc.yaml

⚠️ 注意:

  • 文件系统可能需手动扩容
  • ext4 / xfs 才可在线扩容

四、常见注意事项

✅ 节点资源是否足够(CPU / 内存)
✅ 是否有污点(Taint)影响调度
✅ Pod 是否设置了资源限制
✅ HPA 是否配置合理


五、总结

扩容类型 命令 / 方式
Pod 扩容 kubectl scale
自动扩容 HPA
集群扩容 kubeadm join
存储扩容 修改 PVC

如果你能告诉我:

  • k8s 部署方式(kubeadm / 云 / RKE)
  • 想扩的是 Pod 还是节点

我可以给你更精确的操作步骤。

0 踩