在 CentOS 上部署的 Kubernetes(k8s)扩容,通常分为 集群节点扩容(加机器) 和 工作负载扩容(Pod 扩容) 两类。下面按常见场景给你说明。
在新节点上执行:
# 关闭防火墙
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
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 节点:
kubeadm token create --print-join-command
输出类似:
kubeadm join 192.168.1.10:6443 --token xxx \
--discovery-token-ca-cert-hash sha256:xxx
在新节点执行:
kubeadm join 192.168.1.10:6443 --token xxx \
--discovery-token-ca-cert-hash sha256:xxx
查看节点:
kubectl get nodes
✅ 节点扩容完成
kubectl scale deployment nginx --replicas=5
spec:
replicas: 5
kubectl apply -f deployment.yaml
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
kubectl autoscale deployment nginx \
--cpu-percent=50 \
--min=2 --max=10
查看:
kubectl get hpa
| 场景 | 命令 / 方式 |
|---|---|
| 加节点 | kubeadm join |
| 加 Pod | kubectl scale |
| 自动扩 | HPA |
| 存储扩 | 动态 PVC / StorageClass |
kubeadm token create如果你是:
可以告诉我,我可以给你更精确的命令。