5.6 GitLab Runner在Kubernetes中的部署:Kubernetes Executor实战应用
·
5.6 GitLab Runner在Kubernetes中的部署:Kubernetes Executor实战应用
引言
GitLab Runner是执行CI/CD任务的组件。在Kubernetes中部署Runner可以实现动态资源分配和弹性扩展。本文将详细介绍GitLab Runner的Kubernetes部署方法。
一、GitLab Runner概述
1.1 Runner的作用
- 执行CI/CD任务
- 运行Pipeline Jobs
- 资源隔离
- 并行执行
1.2 Executor类型
- Kubernetes:在K8s中运行(推荐)
- Docker:使用Docker
- Shell:直接在主机运行
二、安装GitLab Runner
2.1 使用Helm安装
# 添加Helm仓库
helm repo add gitlab https://charts.gitlab.io
helm repo update
# 安装Runner
helm install gitlab-runner gitlab/gitlab-runner \
--namespace gitlab-runner \
--create-namespace \
--set gitlabUrl=https://gitlab.example.com \
--set runnerRegistrationToken=YOUR_TOKEN
2.2 配置Values
# values.yaml
gitlabUrl: https://gitlab.example.com
runnerRegistrationToken: YOUR_TOKEN
rbac:
create: true
runners:
config: |
[[runners]]
[runners.kubernetes]
namespace = "gitlab-runner"
image = "alpine:latest"
三、Kubernetes Executor配置
3.1 基本配置
[[runners]]
executor = "kubernetes"
[runners.kubernetes]
namespace = "gitlab-runner"
image = "alpine:latest"
privileged = false
cpu_limit = "1"
memory_limit = "2Gi"
3.2 高级配置
[[runners]]
executor = "kubernetes"
[runners.kubernetes]
namespace = "gitlab-runner"
image = "alpine:latest"
cpu_request = "500m"
memory_request = "1Gi"
cpu_limit = "2000m"
memory_limit = "4Gi"
service_cpu_limit = "100m"
service_memory_limit = "128Mi"
helper_cpu_limit = "100m"
helper_memory_limit = "128Mi"
四、实战案例
4.1 完整配置
# values.yaml
gitlabUrl: https://gitlab.example.com
runnerRegistrationToken: YOUR_TOKEN
rbac:
create: true
runners:
config: |
concurrent = 10
check_interval = 0
[[runners]]
name = "kubernetes-runner"
url = "https://gitlab.example.com"
token = "YOUR_TOKEN"
executor = "kubernetes"
[runners.kubernetes]
namespace = "gitlab-runner"
image = "alpine:latest"
privileged = false
cpu_limit = "2000m"
memory_limit = "4Gi"
service_cpu_limit = "100m"
service_memory_limit = "128Mi"
helper_cpu_limit = "100m"
helper_memory_limit = "128Mi"
poll_timeout = 180
五、操作管理
5.1 查看Runner
# 查看Runner Pod
kubectl get pods -n gitlab-runner
# 查看Runner日志
kubectl logs -n gitlab-runner <runner-pod>
5.2 更新配置
# 更新Values
helm upgrade gitlab-runner gitlab/gitlab-runner \
-f values.yaml \
-n gitlab-runner
六、最佳实践
6.1 配置建议
- 合理设置并发数
- 配置资源限制
- 使用缓存
- 监控Runner状态
总结
通过本文,你学会了:
- ✅ Runner安装:Helm安装、配置
- ✅ Kubernetes Executor:基本、高级配置
- ✅ 实战案例:完整配置
- ✅ 操作管理:查看、更新
下一步学习
- 5.7 Tekton云原生CI/CD实战
- 5.8 ArgoCD GitOps实战
思考题
- Kubernetes Executor的优势是什么?
- 如何配置Runner的资源限制?
- 如何实现Runner的高可用?
提示:GitLab Runner是执行CI/CD任务的关键组件。下一节我们将学习Tekton。
更多推荐
所有评论(0)