VPS服务器搭K8s集群:网络/存储/扩容问题全解
文章分类:更新公告 /
创建时间:2025-08-05
用VPS服务器搭建K8s(Kubernetes)集群时,网络插件选择、存储配置调优和节点扩容是绕不开的环节。新手常卡在“插件选不对”“存储挂不上”“节点加不进”三大问题,本文整理实战中高频疑问,结合操作指令和排查思路逐一解答。
网络插件:选对工具才能跑通流量
网络插件怎么挑?关键看需求场景。Calico和Flannel是最常用的两款,前者强在网络策略控制,后者胜在简单易上手。
如果业务需要精细的网络隔离(比如限制某些Pod只能访问特定服务),选Calico。安装命令直接用官方清单:
kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
要是刚接触K8s,想快速验证集群功能,Flannel更合适。它的配置文件轻量,执行这条命令就能完成安装:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
装完插件发现Pod间不通?先查配置文件里的网络段是否和集群节点IP冲突,再看防火墙有没有放行插件所需端口(比如Calico默认用5473/UDP)。最后用`ping 节点IP`和`traceroute PodIP`逐跳排查,确认物理网络链路是否正常。
存储配置:数据持久化的关键一步
K8s里存数据,最常用NFS和Ceph两种方案。小规模集群(节点数≤10)推荐NFS,配置门槛低;大规模集群(节点数>20)选Ceph,支持分布式存储更稳定。
以NFS为例,先在独立VPS上搭NFS服务器:编辑`/etc/exports`添加共享目录(如`/data/nfs 192.168.1.0/24(rw,sync,no_root_squash)`),然后在K8s集群里创建PV(持久卷)和PVC(持久卷声明)。参考YAML配置:
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 10Gi # 总容量10GB
accessModes:
- ReadWriteMany # 多节点读写
nfs:
server: 192.168.1.100 # NFS服务器IP
path: /data/nfs # 共享目录路径
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi # 申请5GB
执行`kubectl apply -f nfs-config.yaml`完成创建。如果挂载失败,先用`kubectl describe pv nfs-pv`和`kubectl describe pvc nfs-pvc`看状态,重点检查PV和PVC的`accessModes`是否一致(比如PV是`ReadWriteMany`,PVC也得是同模式)。再登NFS服务器,用`systemctl status nfs-server`确认服务是否运行。
节点扩容:从单节点到多节点的平滑过渡
集群不够用想加新节点?分两步走:先在新VPS装基础组件,再用主节点生成的命令加入集群。
以Ubuntu系统为例,装组件的命令是:
apt-get update
apt-get install -y docker.io kubelet kubeadm kubectl
装完后去主节点执行`kubeadm token create --print-join-command`,会输出类似`kubeadm join 192.168.1.10:6443 --token abcdef.123456 --discovery-token-ca-cert-hash sha256:xxx`的命令,复制到新节点执行就能完成加入。
新节点状态一直是NotReady?优先查网络:新节点得能ping通主节点的6443端口(API Server默认端口)。再看kubelet服务是否正常,用`systemctl status kubelet`能看到报错日志(常见问题是cgroup驱动和Docker不匹配)。最后检查资源:内存至少留2GB,CPU至少2核,否则kubelet会拒绝启动。
用VPS服务器搭K8s集群,本质是把分散的计算资源整合成统一算力池。掌握网络插件的选型逻辑、存储的持久化配置,以及节点扩容的操作细节,能让集群从“跑起来”升级到“稳定用”。遇到问题别慌,按“查配置-看服务-测网络”的思路逐步排查,多数场景都能快速解决。
下一篇: 云服务器外贸独立站常见问题FAQ解答