在Debian系统上扩展Kubernetes集群主要分为水平扩展(添加节点)、**垂直扩展(增加节点资源)和自动扩展(HPA)**三类,以下是具体操作步骤及注意事项:
水平扩展是通过增加新节点(Master或Worker)来提升集群整体容量,适用于业务增长需要更多计算资源的场景。
containerd(Kubernetes原生推荐),安装步骤如下:sudo apt update && sudo apt install -y containerd
sudo mkdir -p /etc/containerd
sudo tee /etc/containerd/config.toml <<EOF
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
Path = "/usr/bin/runc"
EOF
sudo systemctl daemon-reload && sudo systemctl enable --now containerd
sudo swapoff -a && sudo sed -i '/ swap / s/1/g' /etc/fstab
sudo ufw allow 6443/tcp && sudo ufw reload
kubeadm join命令:kubeadm token create --print-join-command
sudo kubeadm join 192.168.1.100:6443 --token abcdef.1234567890 --discovery-token-ca-cert-hash sha256:1234567890abcdef
在主节点上执行以下命令,确认新节点状态为Ready:
kubectl get nodes
若节点未立即变为Ready,可等待1-2分钟或检查节点日志排查问题。
垂直扩展是通过调整现有节点的资源限制(如CPU、内存)来提升单节点承载能力,适用于已有节点资源不足的场景。
修改节点的kubelet配置文件(通常位于/var/lib/kubelet/config.yaml),调整cpuManagerPolicy或资源限制。例如,将CPU管理策略改为static以支持独占CPU核心:
cpuManagerPolicy: static
sudo systemctl restart kubelet
注意:垂直扩展需硬件支持,且重启kubelet会导致节点短暂不可用,建议在低负载时操作。
自动扩展是根据Pod资源使用情况(如CPU、内存)动态调整Pod副本数,适用于业务波动大的场景。
使用kubectl autoscale命令创建HPA,例如为名为my-app的Deployment设置自动扩展:
kubectl autoscale deployment my-app --cpu-percent=80 --min=1 --max=10
上述命令表示:当Pod CPU使用率超过80%时,自动增加副本数,最多不超过10个,最少保持1个。
kubectl get hpa
--cpu-percent、--min、--max参数,重新执行kubectl autoscale命令。kubectl get pods -n kube-system检查网络插件状态。