k8s VPS服务器部署入门指南
文章分类:技术文档 /
创建时间:2025-07-23
对于刚接触容器编排的新手来说,在VPS服务器上部署Kubernetes(k8s)常因步骤复杂、配置繁琐而令人望而却步。本文将以实操视角,拆解从环境准备到集群验证的全流程,助你避开常见坑点,顺利搭建可用的k8s集群。

部署前需确认VPS服务器基础配置达标。操作系统建议选择Ubuntu 18.04及以上版本,这类系统对k8s组件兼容性较好;内存至少2GB,CPU至少2核——过低的配置可能导致集群运行卡顿甚至组件启动失败。
完成硬件检查后,先更新系统软件包。在VPS终端执行:
这一步能避免因旧版本软件包导致的依赖冲突,是后续安装的重要铺垫。
k8s依赖容器技术管理应用,Docker作为最常用的容器运行时,需优先安装。执行以下命令:
命令执行完成后,可通过`sudo docker run hello-world`验证安装是否成功——若看到“Hello from Docker!”提示,说明Docker已正常运行。
接下来安装k8s核心工具包,包括用于集群初始化的kubeadm、节点管理的kubelet,以及集群操作客户端kubectl。具体命令:
最后一行的`apt-mark hold`用于锁定组件版本,防止系统自动升级导致兼容性问题。
在主节点执行集群初始化命令,这里需指定Pod网络插件的CIDR范围(以Flannel为例):
命令执行时间较长,完成后会输出类似`kubeadm join 192.168.1.100:6443 --token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:abc123...`的加入命令,务必复制保存,后续工作节点加入集群时需要用到。
初始化完成后,需配置kubectl工具以连接集群。执行:
此时输入`kubectl get nodes`,若显示主节点状态为“NotReady”属正常现象,因为还未安装网络插件。
k8s集群中容器跨节点通信依赖网络插件,这里选择配置简单的Flannel:
等待几分钟后,再次执行`kubectl get pods -n kube-system`,当所有Flannel相关Pod状态变为“Running”,说明网络插件安装成功。
若需扩展集群,在工作节点上执行之前保存的加入命令(需替换主节点IP、token等参数):
加入完成后,回到主节点执行`kubectl get nodes`,若所有节点状态显示“Ready”,则恭喜你,k8s集群已部署成功!
通过这套标准化流程,即使是VPS服务器新手也能快速搭建可用的k8s集群。后续可根据业务需求调整资源配置,或尝试部署实际应用验证集群性能,真正将容器编排技术落地到生产环境。

环境准备:VPS基础配置达标是关键
部署前需确认VPS服务器基础配置达标。操作系统建议选择Ubuntu 18.04及以上版本,这类系统对k8s组件兼容性较好;内存至少2GB,CPU至少2核——过低的配置可能导致集群运行卡顿甚至组件启动失败。
完成硬件检查后,先更新系统软件包。在VPS终端执行:
sudo apt update
sudo apt upgrade -y
这一步能避免因旧版本软件包导致的依赖冲突,是后续安装的重要铺垫。
安装Docker:容器运行时的基石
k8s依赖容器技术管理应用,Docker作为最常用的容器运行时,需优先安装。执行以下命令:
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
命令执行完成后,可通过`sudo docker run hello-world`验证安装是否成功——若看到“Hello from Docker!”提示,说明Docker已正常运行。
安装k8s核心组件:kubeadm/kubelet/kubectl
接下来安装k8s核心工具包,包括用于集群初始化的kubeadm、节点管理的kubelet,以及集群操作客户端kubectl。具体命令:
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
最后一行的`apt-mark hold`用于锁定组件版本,防止系统自动升级导致兼容性问题。
初始化集群:主节点的关键操作
在主节点执行集群初始化命令,这里需指定Pod网络插件的CIDR范围(以Flannel为例):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
命令执行时间较长,完成后会输出类似`kubeadm join 192.168.1.100:6443 --token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:abc123...`的加入命令,务必复制保存,后续工作节点加入集群时需要用到。
配置kubectl:打通集群操作入口
初始化完成后,需配置kubectl工具以连接集群。执行:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
此时输入`kubectl get nodes`,若显示主节点状态为“NotReady”属正常现象,因为还未安装网络插件。
安装网络插件:实现容器跨节点通信
k8s集群中容器跨节点通信依赖网络插件,这里选择配置简单的Flannel:
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
等待几分钟后,再次执行`kubectl get pods -n kube-system`,当所有Flannel相关Pod状态变为“Running”,说明网络插件安装成功。
加入工作节点:扩展集群计算资源
若需扩展集群,在工作节点上执行之前保存的加入命令(需替换主节点IP、token等参数):
sudo kubeadm join <主节点IP>:<端口> --token --discovery-token-ca-cert-hash
加入完成后,回到主节点执行`kubectl get nodes`,若所有节点状态显示“Ready”,则恭喜你,k8s集群已部署成功!
通过这套标准化流程,即使是VPS服务器新手也能快速搭建可用的k8s集群。后续可根据业务需求调整资源配置,或尝试部署实际应用验证集群性能,真正将容器编排技术落地到生产环境。