K8s节点配置:VPS服务器部署清单全解析
想在VPS服务器上用Kubernetes(K8s)高效部署应用?本文从环境准备到YAML清单编写,手把手带你完成K8s集群搭建与部署流程,助你快速掌握VPS服务器的K8s部署技巧。

Kubernetes(K8s)就像程序世界的超级大管家,能自动管理成百上千个应用;而VPS服务器则是这些应用的“专属小房子”。要让K8s在VPS服务器上顺利工作,关键是生成一份清晰的部署清单——它就像给大管家的“任务说明书”,明确告诉K8s该部署哪些应用、用多少副本、开什么端口。
第一步:VPS服务器基础环境搭建
VPS服务器是整个部署的“地基”,需要先做好三件事:
- 安装操作系统:推荐Ubuntu 20.04+或CentOS 7+,稳定性和K8s兼容性更好;
- 配置网络:确保VPS服务器间能互相通信(检查防火墙规则,开放6443、2379等K8s常用端口);
- 安装Docker:K8s依赖容器化技术,执行以下命令快速安装:
sudo apt update && sudo apt install -y docker.io
sudo systemctl enable --now docker
第二步:安装K8s核心组件
在每台VPS服务器上安装Kubelet(节点管理器)、Kubeadm(集群初始化工具)和Kubectl(命令行客户端)。以Ubuntu为例,执行:
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
第三步:初始化K8s主节点
选一台VPS服务器作为主节点(Master),运行初始化命令:
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化完成后,会输出类似`kubeadm join 192.168.1.10:6443 --token abcdef.1234567890abcdef --discovery-token-ca-cert-hash sha256:abc123...`的命令,这是其他节点加入集群的“钥匙”,务必保存好。
第四步:加入工作节点
在其他VPS服务器上执行刚才保存的`kubeadm join`命令,等待节点状态变为`Ready`(可通过`kubectl get nodes`查看)。这一步相当于把“小房子”都连接到K8s大管家的“指挥中心”。
第五步:编写YAML部署清单
部署清单是K8s的“行动指南”,用YAML格式编写。以下是一个典型示例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3 # 运行3个副本保证高可用
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx-container
image: nginx:1.23 # 使用官方Nginx镜像
ports:
- containerPort: 80 # 容器暴露80端口
这份清单的意思是:让K8s在集群中运行3个Nginx实例,每个实例使用`nginx:1.23`镜像,对外提供80端口服务。
第六步:应用部署并验证
在主节点执行`kubectl apply -f nginx-deployment.yaml`,K8s会自动根据清单部署应用。用`kubectl get pods`查看Pod状态,当所有Pod显示`Running`,说明部署成功。
通过这六步,你已掌握在VPS服务器上用K8s部署应用的核心流程。后续可根据需求调整副本数、更换镜像,或结合HPA(水平自动扩缩容)实现资源弹性管理,让VPS服务器的算力得到更高效的利用。