1. 环境准备与工具选型
在开始构建自动化部署流水线之前,我们需要先准备好基础设施。这套方案的核心组件包括:
- Jenkins:作为CI/CD流水线的大脑,负责调度整个构建流程
- Rancher:提供友好的Kubernetes集群管理界面
- Harbor:企业级私有镜像仓库
- GitLab:代码版本控制和协作平台
我建议使用CentOS 7.x作为基础操作系统,因为它在企业环境中广泛使用且稳定性有保障。以下是各组件版本兼容性矩阵:
| 组件 | 推荐版本 | 关键特性 |
|---|---|---|
| Jenkins | 2.346.3 | 长期支持版,兼容性强 |
| Rancher | 2.6.4 | 支持K8s 1.21-1.23版本 |
| Harbor | 2.5.3 | 支持OCI镜像和Helm Chart |
| GitLab | 14.9.4 | 包含CI/CD模板和漏洞扫描 |
在实际部署中,我发现这些版本组合能够很好地协同工作。比如Rancher 2.6.4对Kubernetes 1.22的支持非常稳定,而Harbor 2.5.3的垃圾回收机制能有效控制存储空间增长。
2. 基础服务安装与配置
2.1 Jenkins安装优化
安装Jenkins时,我习惯使用官方仓库确保版本最新:
sudo wget -O /etc/yum.repos.d/jenkins.repo \
https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
sudo yum install jenkins-2.346.3
关键配置优化项(/etc/sysconfig/jenkins):
JENKINS_USER="root" # 避免权限问题
JENKINS_PORT="8080"
JENKINS_HTTPS_PORT="8443" # 启用HTTPS
JENKINS_ARGS="--webroot=/var/cache/jenkins/war --httpPort=$JENKINS_PORT"
安装后必须的插件列表:
- Git Parameter
- Pipeline
- Kubernetes CLI
- Docker Pipeline
- Rancher Plugin
2.2 Rancher集群部署
对于生产环境,我推荐使用RKE部署Kubernetes集群后再接入Rancher:
# 安装RKE
curl -sSL https://get.rke2.io | sudo INSTALL_RKE2_VERSION=v1.21.14+rke2r1 sh
sudo systemctl enable rke2-server
sudo systemctl start rke2-server
# 配置kubectl
mkdir ~/.kube
sudo cp /etc/rancher/rke2/rke2.yaml ~/.kube/config
sudo chown $(id -u):$(id -g) ~/.kube/config


662


被折叠的 条评论
为什么被折叠?



