VPS云服务器K8s集群搭建实操指南
文章分类:行业新闻 /
创建时间:2025-06-11
在数字化转型加速的今天,VPS云服务器凭借独立资源、灵活扩展的特性,成为企业部署容器化应用的理想载体。作为容器编排领域的标杆工具,Kubernetes(简称K8s)能自动化管理容器的部署、扩展与运维,而在VPS云服务器上搭建K8s集群,正是实现高效容器化的关键一步。本文将从前期准备到日常管理,完整呈现搭建全流程。

搭建前的核心准备
搭建K8s集群需至少3台VPS云服务器:1台作为主节点(Master)负责集群管理,2台或以上作为工作节点(Worker)运行容器化应用。所有服务器建议选择Ubuntu 20.04 LTS或CentOS 7系统,确保内核版本一致(如Ubuntu推荐5.4+内核),避免后续兼容性问题。
网络连通性是基础。需保证主节点与工作节点间能通过内网IP互访,同时开放K8s必要端口(如主节点6443、2379-2380端口,工作节点10250-10255端口)。可通过`ping <目标IP>`测试连通性,用`ufw allow <端口号>`或`firewall-cmd --add-port=<端口号>/tcp`配置防火墙规则。
容器运行时选择Docker(目前最成熟的容器引擎)。安装前需卸载旧版本:`sudo apt remove docker docker-engine docker.io containerd runc`(Ubuntu),再通过官方仓库安装:`sudo apt install docker-ce docker-ce-cli containerd.io`。安装后执行`systemctl enable --now docker`设置开机自启,并用`docker run hello-world`验证安装成功。
关键组件安装与集群初始化
K8s核心组件包括kubeadm(集群初始化工具)、kubelet(节点代理,管理容器生命周期)、kubectl(集群操作命令行工具)。安装时需先添加K8s官方源:
sudo apt-get update && sudo apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
接着安装组件:`sudo apt-get update && sudo apt-get install -y kubelet kubeadm kubectl`,最后锁定版本防止自动升级:`sudo apt-mark hold kubelet kubeadm kubectl`。
主节点初始化是关键步骤。执行`kubeadm init --pod-network-cidr=10.244.0.0/16`(Flannel网络插件需指定该网段),命令完成后会输出工作节点加入指令(如`kubeadm join 192.168.1.10:6443 --token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:xxx`),需妥善保存。初始化后配置kubectl:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
网络插件安装与节点加入
K8s集群需网络插件实现容器跨节点通信,推荐Flannel(轻量易用)或Calico(支持网络策略)。以Flannel为例,执行`kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml`安装,约2分钟后通过`kubectl get pods -n kube-system`检查,若`kube-flannel-ds`相关Pod状态为`Running`,则网络插件部署成功。
工作节点加入集群时,使用主节点初始化输出的`kubeadm join`命令(需在工作节点以root权限执行)。加入后,主节点执行`kubectl get nodes`,若所有节点状态显示`Ready`,则集群搭建完成。
集群验证与日常管理
验证集群可用性可通过部署Nginx服务。创建`nginx-deploy.yaml`文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deploy
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.23
ports:
- containerPort: 80
执行`kubectl apply -f nginx-deploy.yaml`创建部署,用`kubectl get pods`查看状态,当2个Pod均为`Running`时,说明集群能正常调度容器。
日常管理中,可通过`kubectl top nodes`监控节点资源使用(CPU/内存),`kubectl describe pod
通过以上步骤,你已在VPS云服务器上搭建起可用的K8s集群。依托VPS云服务器的弹性资源和K8s的自动化管理能力,企业可更高效地部署、扩展容器化应用,为数字化业务的快速迭代提供坚实支撑。