K8s VPS云服务器搭建CI/CD流水线与监控指南
文章分类:技术文档 /
创建时间:2025-09-03
如何用K8s VPS云服务器搭建一套自动把代码变成可运行程序的CI/CD流水线?不妨把这个过程想象成搭建一座智能工厂——代码是原材料,流水线自动完成生产(集成测试)、质检(持续交付)、出厂(部署上线),而K8s VPS云服务器就像工厂的智能仓库,负责管理和运行这些“产品”。本文将从基础搭建到监控配置,带你一步步实现高效开发部署。

CI/CD流水线搭建基础
CI(持续集成)和CD(持续交付/部署)是自动化运维的核心。CI像代码“质检员”,每天多次将新代码与主分支合并,自动检查是否冲突或报错;CD则是“快递员”,把通过测试的代码快速、稳定地部署到K8s VPS云服务器上。
在K8s VPS云服务器上搭建流水线,需要几样“工具包”:Git是代码“日记本”,记录所有修改历史;Jenkins是流水线“指挥官”,负责调度编译、测试、部署等任务;K8s(Kubernetes的缩写,容器编排工具)则是“仓库管理员”,管理容器化应用的运行状态。
具体搭建步骤
第一步是安装并配置Git。将本地代码推送至Git仓库(如GitHub/GitLab),就像把文件存入带时间戳的保险箱,既能多人协作又能回溯版本。操作命令很简单,在VPS云服务器终端输入:
sudo apt install git # 安装Git
git config --global user.name "你的用户名"
git config --global user.email "你的邮箱"
第二步安装Jenkins。在K8s VPS云服务器上执行:
sudo apt update
sudo apt install openjdk-11-jdk # Jenkins依赖Java环境
wget -q -O - https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb https://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt update
sudo apt install jenkins
sudo systemctl start jenkins # 启动服务
安装完成后,通过“服务器IP:8080”访问Jenkins控制台,按提示完成初始配置。
第三步创建Jenkins任务。点击“新建任务”选择“自由风格项目”,在“源码管理”中填写Git仓库地址;“构建触发”勾选“GitHub hook触发”(实现代码提交自动触发任务);“构建步骤”添加“执行shell”,输入编译、测试命令(如mvn clean package)。
第四步配置K8s部署。在Jenkins中安装“Kubernetes CLI”插件,通过Kubectl命令将打包好的镜像部署到K8s VPS云服务器:
kubectl apply -f deployment.yaml # 应用部署配置文件
监控系统:给流水线装“智能眼睛”
搭建完成后,需要监控流水线运行状态。就像工厂需要监控生产线是否卡料、机器是否过热,CI/CD也需要实时跟踪任务耗时、服务器负载等指标。
监控工具与配置
推荐用Prometheus(数据采集器)+Grafana(可视化面板)组合。Prometheus能抓取Jenkins、K8s节点的CPU/内存使用率、任务成功率等数据;Grafana则把这些数据变成直观的折线图、仪表盘,帮你快速定位问题。
配置分三步:
1. 安装Prometheus:在VPS云服务器下载安装包,修改prometheus.yml配置文件,添加要监控的目标(如Jenkins的9100端口、K8s节点的9102端口)。
2. 安装Grafana:通过APT安装后,在“数据源”中连接Prometheus,然后导入Jenkins或K8s的监控模板(可在Grafana官网下载现成仪表盘)。
3. 设置告警规则:在Prometheus的rules.yml中定义阈值(如CPU使用率>80%、任务失败率>5%),结合Alertmanager配置邮件/企业微信告警,第一时间收到异常通知。
常见问题排查
实际操作中可能遇到两类问题:一是Jenkins任务失败,二是监控数据缺失。
任务失败时,优先查看Jenkins控制台日志(路径:/var/log/jenkins/jenkins.log),常见原因包括依赖缺失(如未安装Maven)、代码冲突(Git拉取失败)。比如日志提示“mvn: command not found”,说明需要在VPS云服务器上安装Maven。
监控数据缺失可能是网络问题,检查Prometheus配置文件中的目标地址是否正确,或VPS云服务器的防火墙是否开放了对应端口(如9090、3000)。此外,确保被监控服务(如Jenkins)已安装Exporter(数据导出插件),否则Prometheus无法抓取数据。
掌握这些方法后,使用K8s VPS云服务器搭建CI/CD流水线并监控,能显著提升开发部署效率与系统稳定性。从代码提交到上线的每一步都有迹可循,问题排查时间从小时级缩短至分钟级,真正实现“开发高效、运维省心”。