温馨提示×

centos k8s部署怎么扩容

小樊
39
2026-09-12 06:35:26
栏目: 智能运维

CentOS 上部署的 Kubernetes(k8s)扩容,通常分为 集群节点扩容(加机器)工作负载扩容(Pod 扩容) 两类。下面按常见场景给你说明。


一、Kubernetes 集群节点扩容(新增 Node)

1️⃣ 新节点准备(CentOS)

在新节点上执行:

# 关闭防火墙
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/d' /etc/fstab

# 设置内核参数
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system

安装容器运行时(docker 或 containerd):

# docker 示例
yum install -y docker
systemctl enable docker && systemctl start docker

2️⃣ 安装 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

3️⃣ Master 生成加入命令

Master 节点

kubeadm token create --print-join-command

输出类似:

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

4️⃣ 新节点加入集群

在新节点执行:

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

查看节点:

kubectl get nodes

✅ 节点扩容完成


二、Pod(工作负载)扩容

方式 1:Deployment 手动扩容

kubectl scale deployment nginx --replicas=5

方式 2:修改 YAML

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

三、自动扩容(HPA)

1️⃣ 开启 metrics-server

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

2️⃣ 创建 HPA

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

查看:

kubectl get hpa

四、常见扩容场景总结

场景 命令 / 方式
加节点 kubeadm join
加 Pod kubectl scale
自动扩 HPA
存储扩 动态 PVC / StorageClass

五、常见问题

  • 节点 NotReady:检查 kubelet、网络插件(flannel / calico)
  • join 失败:token 过期,重新 kubeadm token create
  • Pod 不调度:节点有 taint 或资源不足

如果你是:

  • kubeadm 部署
  • 二进制部署
  • 使用 Rancher / kubesphere
  • 只是 Pod 扩容

可以告诉我,我可以给你更精确的命令。

0