Ubuntu 22.04容器编排VPS服务器高级教程:从Docker到K3s
文章分类:更新公告 /
创建时间:2025-06-29
在Ubuntu 22.04的VPS服务器上,容器化技术是提升应用部署效率的关键。无论是轻量的Docker快速测试,还是进阶的K3s集群管理,掌握这两种工具的衔接使用,能让开发者灵活应对不同规模的应用需求。本文将从环境准备到具体操作,详细讲解从Docker过渡到K3s的全流程。

1. 概述
VPS服务器搭配Ubuntu 22.04系统时,容器编排工具的选择尤为重要。Docker作为主流容器化平台,擅长快速打包、部署应用;K3s则是轻量版Kubernetes(K8s),通过精简组件降低资源消耗,更适合边缘计算或资源受限场景。二者结合使用,能覆盖从开发测试到生产部署的全周期需求。
2. 准备工作
首先确认VPS服务器已安装Ubuntu 22.04系统,并保证网络稳定、资源充足——建议配置至少2GB内存和2核CPU,为后续操作留出余量。正式操作前需更新系统软件包,避免依赖冲突:
sudo apt update
sudo apt upgrade -y
3. Docker安装与使用
Docker通过容器化技术将应用及其依赖封装,实现“一次构建,到处运行”。具体操作如下:
安装与启动
执行命令安装Docker引擎:
sudo apt install docker.io -y
安装完成后启动服务,并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
基础实践
以部署Nginx服务为例,拉取镜像并运行容器:
sudo docker run -d -p 80:80 nginx
此命令会从Docker Hub拉取最新Nginx镜像,后台运行容器并将80端口映射到主机。开发者可通过`http://服务器IP`访问Nginx默认页面,快速验证部署效果。
4. K3s安装与配置
K3s是专为轻量环境优化的Kubernetes发行版,仅需Docker 1/3的资源即可运行集群,适合VPS服务器这类小型基础设施。
一键安装
使用官方脚本快速安装K3s服务器:
curl -sfL https://get.k3s.io | sh -
安装完成后,通过以下命令检查服务状态:
sudo systemctl status k3s
正常运行时会显示“active (running)”,此时K3s已自动创建单节点集群。
集群管理
要通过本地终端管理K3s集群,需获取Kubeconfig配置文件。执行以下命令查看内容:
sudo cat /etc/rancher/k3s/k3s.yaml
将输出内容复制到本地`~/.kube/config`文件(若文件不存在则新建),即可使用`kubectl`命令操作集群,例如查看节点状态:
kubectl get nodes
5. 从Docker过渡到K3s
当应用规模扩大,需集群化管理时,可从Docker平滑迁移至K3s。以Nginx服务为例,步骤如下:
镜像准备
若使用自定义镜像,需先推送至镜像仓库(如Docker Hub或私有仓库)。公共镜像(如nginx:latest)可直接引用。
创建Deployment
编写`nginx-deployment.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
image: nginx:latest
ports:
- containerPort: 80
执行命令应用配置:
kubectl apply -f nginx-deployment.yaml
暴露服务
创建`nginx-service.yaml`文件定义服务访问方式:
apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
selector:
app: nginx # 关联Deployment的标签
ports:
- protocol: TCP
port: 80 # 服务端口
targetPort: 80 # 容器端口
type: LoadBalancer # 外部访问类型(需根据环境调整)
应用后通过`kubectl get service`查看服务IP,即可外部访问。
6. 总结
在Ubuntu 22.04的VPS服务器上,Docker适合快速验证功能、测试应用;K3s则能通过集群管理实现高可用、自动扩缩容等高级功能。掌握二者的衔接使用,既能满足开发阶段的灵活性需求,也能支撑生产环境的稳定性要求。实际操作中可根据应用规模选择工具,或组合使用以最大化效率。