一、架构
GitLab Repo
├─ .gitlab-ci.yml # GitLab Runner 执行
│ ├─ test
│ ├─ build image
│ └─ push image / update GitOps repo
│
└─ k8s manifests / Helm values
↓
Argo CD
└─ sync 到 Kubernetes
GitLab Runner 负责 CI:构建、测试、打镜像、推镜像。
Argo CD 负责 CD:监听 Git 仓库,把 Kubernetes 配置同步到集群。二、Kubernetes 中创建 Runner Secret

kubectl -n gitlab-runner create secret generic gitlab-runner-secret \
--from-literal=runner-token='glrt-xxxxxxxxxxxxxxxx' \
--from-literal=runner-registration-token=''2.1 用 Argo CD 部署 GitLab Runner Helm Chart
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: gitlab-runner
namespace: argocd
spec:
project: default
source:
repoURL: https://charts.gitlab.io
chart: gitlab-runner
targetRevision: <指定一个 chart 版本>
helm:
releaseName: gitlab-runner
valuesObject:
gitlabUrl: https://gitlab.example.com
rbac:
create: true
serviceAccount:
create: true
concurrent: 10
checkInterval: 3
runners:
secret: gitlab-runner-secret
executor: kubernetes
config: |
[[runners]]
executor = "kubernetes"
[runners.kubernetes]
namespace = "{{.Release.Namespace}}"
image = "ubuntu:22.04"
privileged = false
poll_timeout = 180
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: false
runAsNonRoot: true
privileged: false
capabilities:
drop: ["ALL"]
destination:
server: https://kubernetes.default.svc
namespace: gitlab-runner
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=trueArgo CD 的 Application 可以直接引用 Helm chart repo,并通过 chart、targetRevision、helm.valuesObject 配置 Helm 参数。
targetRevision 建议固定版本,不要长期用 latest。你可以先查可用版本:helm repo add gitlab https://charts.gitlab.io
helm repo update
helm search repo -l gitlab/gitlab-runnerroot@k8s-01:~# helm search repo -l gitlab/gitlab-runner
NAME CHART VERSION APP VERSION DESCRIPTION
gitlab/gitlab-runner 0.89.0 19.0.0 GitLab Runner
gitlab/gitlab-runner 0.88.3 18.11.3 GitLab Runner
gitlab/gitlab-runner 0.88.2 18.11.2 GitLab Runner
gitlab/gitlab-runner 0.88.1 18.11.1 GitLab Runner
gitlab/gitlab-runner 0.88.0 18.11.0 GitLab Runner
gitlab/gitlab-runner 0.87.1 18.10.1 GitLab Runner
gitlab/gitlab-runner 0.87.0 18.10.0 GitLab Runner
gitlab/gitlab-runner 0.86.0 18.9.0 GitLab Runner
gitlab/gitlab-runner 0.85.0 18.8.0 GitLab Runner
gitlab/gitlab-runner 0.84.2 18.7.2 GitLab Runner
gitlab/gitlab-runner 0.84.1 18.7.1 GitLab Runner
gitlab/gitlab-runner 0.84.0 18.7.0 GitLab Runner
gitlab/gitlab-runner 0.83.3 18.6.3 GitLab Runner
gitlab/gitlab-runner 0.83.2 18.6.2 GitLab Runner
gitlab/gitlab-runner 0.83.1 18.6.1 GitLab Runner
gitlab/gitlab-runner 0.83.0 18.6.0 GitLab Runner
gitlab/gitlab-runner 0.82.0 18.5.0 GitLab Runner
gitlab/gitlab-runner 0.81.0 18.4.0 GitLab Runner
gitlab/gitlab-runner 0.80.1 18.3.1 GitLab Runner
gitlab/gitlab-runner 0.80.0 18.3.0 GitLab Runner
gitlab/gitlab-runner 0.79.2 18.2.2 GitLab Runner
gitlab/gitlab-runner 0.79.1 18.2.1 GitLab Runner
gitlab/gitlab-runner 0.79.0 18.2.0 GitLab Runner
gitlab/gitlab-runner 0.78.3 18.1.3 GitLab Runner
gitlab/gitlab-runner 0.78.2 18.1.2 GitLab Runner
gitlab/gitlab-runner 0.78.1 18.1.1 GitLab Runner
gitlab/gitlab-runner 0.78.0 18.1.0 GitLab Runner
gitlab/gitlab-runner 0.77.5 18.0.5 GitLab Runner
gitlab/gitlab-runner 0.77.4 18.0.4 GitLab Runner
gitlab/gitlab-runner 0.77.3 18.0.3 GitLab Runner
gitlab/gitlab-runner 0.77.2 18.0.2 GitLab Runner
gitlab/gitlab-runner 0.77.1 18.0.1 GitLab Runner
gitlab/gitlab-runner 0.77.0 18.0.0 GitLab Runner
gitlab/gitlab-runner 0.76.3 17.11.3 GitLab Runner
gitlab/gitlab-runner 0.76.2 17.11.2 GitLab Runner
gitlab/gitlab-runner 0.76.1 17.11.1 GitLab Runner
gitlab/gitlab-runner 0.76.0 17.11.0 GitLab Runner
gitlab/gitlab-runner 0.75.2 17.10.2 GitLab Runner
gitlab/gitlab-runner 0.75.1 17.10.1 GitLab Runner
gitlab/gitlab-runner 0.75.0 17.10.0 GitLab Runner
gitlab/gitlab-runner 0.74.3 17.9.3 GitLab Runner
gitlab/gitlab-runner 0.74.2 17.9.2 GitLab Runner
gitlab/gitlab-runner 0.74.1 17.9.1 GitLab Runner
gitlab/gitlab-runner 0.74.0 17.9.0 GitLab Runner
gitlab/gitlab-runner 0.73.5 17.8.5 GitLab Runner
gitlab/gitlab-runner 0.73.4 17.8.4 GitLab Runner
gitlab/gitlab-runner 0.73.3 17.8.3 GitLab Runner
gitlab/gitlab-runner 0.73.2 17.8.2 GitLab Runner
gitlab/gitlab-runner 0.73.1 17.8.1 GitLab Runner
gitlab/gitlab-runner 0.73.0 17.8.0 GitLab Runner
gitlab/gitlab-runner 0.72.1 17.7.1 GitLab Runner
gitlab/gitlab-runner 0.72.0 17.7.0 GitLab Runner
gitlab/gitlab-runner 0.71.0 17.6.0 GitLab Runner
gitlab/gitlab-runner 0.70.5 17.5.5 GitLab Runner
gitlab/gitlab-runner 0.70.4 17.5.4 GitLab Runner
gitlab/gitlab-runner 0.70.3 17.5.3 GitLab Runner
gitlab/gitlab-runner 0.70.2 17.5.2 GitLab Runner
gitlab/gitlab-runner 0.70.1 17.5.1 GitLab Runner
gitlab/gitlab-runner 0.70.0 17.5.0 GitLab Runner
gitlab/gitlab-runner 0.69.2 17.4.2 GitLab Runner
gitlab/gitlab-runner 0.69.1 17.4.1 GitLab Runner
gitlab/gitlab-runner 0.69.0 17.4.0 GitLab Runner
gitlab/gitlab-runner 0.68.3 17.3.3 GitLab Runner
gitlab/gitlab-runner 0.68.2 17.3.2 GitLab Runner
gitlab/gitlab-runner 0.68.1 17.3.1 GitLab Runner
gitlab/gitlab-runner 0.68.0 17.3.0 GitLab Runner
gitlab/gitlab-runner 0.67.3 17.2.3 GitLab Runner
gitlab/gitlab-runner 0.67.2 17.2.2 GitLab Runner
gitlab/gitlab-runner 0.67.1 17.2.1 GitLab Runner
gitlab/gitlab-runner 0.67.0 17.2.0 GitLab Runner
gitlab/gitlab-runner 0.66.2 17.1.2 GitLab Runner
gitlab/gitlab-runner 0.66.1 17.1.1 GitLab Runner
gitlab/gitlab-runner 0.66.0 17.1.0 GitLab Runner
gitlab/gitlab-runner 0.65.3 17.0.3 GitLab Runner
gitlab/gitlab-runner 0.65.2 17.0.2 GitLab Runner
gitlab/gitlab-runner 0.65.1 17.0.1 GitLab Runner
gitlab/gitlab-runner 0.65.0 17.0.0 GitLab Runner
gitlab/gitlab-runner 0.64.4 16.11.4 GitLab Runner
gitlab/gitlab-runner 0.64.3 16.11.3 GitLab Runner
gitlab/gitlab-runner 0.64.2 16.11.2 GitLab Runner
gitlab/gitlab-runner 0.64.1 16.11.1 GitLab Runner
gitlab/gitlab-runner 0.64.0 16.11.0 GitLab Runner
gitlab/gitlab-runner 0.63.1 16.10.1 GitLab Runner
gitlab/gitlab-runner 0.63.0 16.10.0 GitLab Runner
gitlab/gitlab-runner 0.62.2 16.9.2 GitLab Runner
gitlab/gitlab-runner 0.62.1 16.9.1 GitLab Runner
gitlab/gitlab-runner 0.62.0 16.9.0 GitLab Runner
gitlab/gitlab-runner 0.61.3 16.8.1 GitLab Runner
gitlab/gitlab-runner 0.61.2 16.8.0 GitLab Runner
gitlab/gitlab-runner 0.61.1 16.8.0 GitLab Runner
gitlab/gitlab-runner 0.61.0 16.8.0 GitLab Runner
gitlab/gitlab-runner 0.60.1 16.7.1 GitLab Runner
gitlab/gitlab-runner 0.60.0 16.7.0 GitLab Runner
gitlab/gitlab-runner 0.59.3 16.6.2 GitLab Runner
gitlab/gitlab-runner 0.59.2 16.6.1 GitLab Runner
gitlab/gitlab-runner 0.59.1 16.6.0 GitLab Runner
gitlab/gitlab-runner 0.59.0 16.6.0 GitLab Runner
gitlab/gitlab-runner 0.58.2 16.5.0 GitLab Runner
gitlab/gitlab-runner 0.58.1 16.5.0 GitLab Runner
gitlab/gitlab-runner 0.58.0 16.5.0 GitLab Runner
gitlab/gitlab-runner 0.57.2 16.4.2 GitLab Runner
gitlab/gitlab-runner 0.57.1 16.4.1 GitLab Runner
gitlab/gitlab-runner 0.57.0 16.4.0 GitLab Runner
gitlab/gitlab-runner 0.56.3 16.3.3 GitLab Runner
gitlab/gitlab-runner 0.56.2 16.3.2 GitLab Runner
gitlab/gitlab-runner 0.56.1 16.3.1 GitLab Runner
gitlab/gitlab-runner 0.56.0 16.3.0 GitLab Runner
gitlab/gitlab-runner 0.55.3 16.2.3 GitLab Runner
gitlab/gitlab-runner 0.55.2 16.2.2 GitLab Runner
gitlab/gitlab-runner 0.55.1 16.2.1 GitLab Runner
gitlab/gitlab-runner 0.55.0 16.2.0 GitLab Runner
gitlab/gitlab-runner 0.54.1 16.1.1 GitLab Runner
gitlab/gitlab-runner 0.54.0 16.1.0 GitLab Runner
gitlab/gitlab-runner 0.53.3 16.0.3 GitLab Runner
gitlab/gitlab-runner 0.53.2 16.0.2 GitLab Runner
gitlab/gitlab-runner 0.53.1 16.0.1 GitLab Runner
gitlab/gitlab-runner 0.53.0 16.0.0 GitLab Runner
gitlab/gitlab-runner 0.52.1 15.11.1 GitLab Runner
gitlab/gitlab-runner 0.52.0 15.11.0 GitLab Runner
gitlab/gitlab-runner 0.51.1 15.10.1 GitLab Runner
gitlab/gitlab-runner 0.51.0 15.10.0 GitLab Runner
gitlab/gitlab-runner 0.50.1 15.9.1 GitLab Runner
gitlab/gitlab-runner 0.50.0 15.9.0 GitLab Runner
gitlab/gitlab-runner 0.49.3 15.8.3 GitLab Runner
gitlab/gitlab-runner 0.49.2 15.8.2 GitLab Runner
gitlab/gitlab-runner 0.49.1 15.8.1 GitLab Runner
gitlab/gitlab-runner 0.49.0 15.8.0 GitLab Runner
gitlab/gitlab-runner 0.48.3 15.7.4 GitLab Runner
gitlab/gitlab-runner 0.48.2 15.7.3 GitLab Runner
gitlab/gitlab-runner 0.48.1 15.7.2 GitLab Runner
gitlab/gitlab-runner 0.48.0 15.7.0 GitLab Runner
gitlab/gitlab-runner 0.47.3 15.6.3 GitLab Runner
gitlab/gitlab-runner 0.47.2 15.6.2 GitLab Runner
gitlab/gitlab-runner 0.47.1 15.6.1 GitLab Runner
gitlab/gitlab-runner 0.47.0 15.6.0 GitLab Runner
gitlab/gitlab-runner 0.46.1 15.5.1 GitLab Runner
gitlab/gitlab-runner 0.46.0 15.5.0 GitLab Runner
gitlab/gitlab-runner 0.45.2 15.4.2 GitLab Runner
gitlab/gitlab-runner 0.45.1 15.4.1 GitLab Runner
gitlab/gitlab-runner 0.45.0 15.4.0 GitLab Runner
gitlab/gitlab-runner 0.44.3 15.3.3 GitLab Runner
gitlab/gitlab-runner 0.44.2 15.3.2 GitLab Runner
gitlab/gitlab-runner 0.44.1 15.3.1 GitLab Runner
gitlab/gitlab-runner 0.44.0 15.3.0 GitLab Runner
gitlab/gitlab-runner 0.43.2 15.2.2 GitLab Runner
gitlab/gitlab-runner 0.43.1 15.2.1 GitLab Runner
gitlab/gitlab-runner 0.43.0 15.2.0 GitLab Runner
gitlab/gitlab-runner 0.42.0 15.1.0 GitLab Runner
gitlab/gitlab-runner 0.41.1 15.0.1 GitLab Runner
gitlab/gitlab-runner 0.41.0 15.0.0 GitLab Runner
gitlab/gitlab-runner 0.40.1 14.10.1 GitLab Runner
gitlab/gitlab-runner 0.40.0 14.10.0 GitLab Runner
gitlab/gitlab-runner 0.39.1 14.9.2 GitLab Runner
gitlab/gitlab-runner 0.39.0 14.9.0 GitLab Runner
gitlab/gitlab-runner 0.38.2 14.8.3 GitLab Runner
gitlab/gitlab-runner 0.38.1 14.8.2 GitLab Runner
gitlab/gitlab-runner 0.38.0 14.8.0 GitLab Runner
gitlab/gitlab-runner 0.37.3 14.7.1 GitLab Runner
gitlab/gitlab-runner 0.37.2 14.7.0 GitLab Runner
gitlab/gitlab-runner 0.37.1 bleeding GitLab Runner
gitlab/gitlab-runner 0.37.0 14.7.0 GitLab Runner
gitlab/gitlab-runner 0.36.1 14.6.1 GitLab Runner
gitlab/gitlab-runner 0.36.0 14.6.0 GitLab Runner
gitlab/gitlab-runner 0.35.3 14.5.2 GitLab Runner
gitlab/gitlab-runner 0.35.2 14.5.2 GitLab Runner
gitlab/gitlab-runner 0.35.0 14.5.0 GitLab Runner
gitlab/gitlab-runner 0.34.2 14.4.2 GitLab Runner
gitlab/gitlab-runner 0.34.1 14.4.1 GitLab Runner
gitlab/gitlab-runner 0.34.0 14.4.0 GitLab Runner
gitlab/gitlab-runner 0.33.3 14.3.4 GitLab Runner
gitlab/gitlab-runner 0.33.2 14.3.3 GitLab Runner
gitlab/gitlab-runner 0.33.1 14.3.2 GitLab Runner
gitlab/gitlab-runner 0.33.0 14.3.0 GitLab Runner
gitlab/gitlab-runner 0.32.0 14.2.0 GitLab Runner
gitlab/gitlab-runner 0.31.0 14.1.0 GitLab Runner
gitlab/gitlab-runner 0.30.0 14.0.0 GitLab Runner
gitlab/gitlab-runner 0.29.0 13.12.0 GitLab Runner
gitlab/gitlab-runner 0.28.0 13.11.0 GitLab Runner
gitlab/gitlab-runner 0.27.0 13.10.0 GitLab Runner
gitlab/gitlab-runner 0.26.0 13.9.0 GitLab Runner
gitlab/gitlab-runner 0.25.0 13.8.0 GitLab Runner
gitlab/gitlab-runner 0.24.0 13.7.0 GitLab Runner
gitlab/gitlab-runner 0.23.0 13.6.0 GitLab Runner
gitlab/gitlab-runner 0.22.0 13.5.0 GitLab Runner
gitlab/gitlab-runner 0.21.1 13.4.1 GitLab Runner
gitlab/gitlab-runner 0.21.0 13.4.0 GitLab Runner
gitlab/gitlab-runner 0.20.2 13.3.2 GitLab Runner
gitlab/gitlab-runner 0.20.1 13.3.1 GitLab Runner
gitlab/gitlab-runner 0.20.0 13.3.0 GitLab Runner
gitlab/gitlab-runner 0.19.4 13.2.4 GitLab Runner
gitlab/gitlab-runner 0.19.3 13.2.3 GitLab Runner
gitlab/gitlab-runner 0.19.2 13.2.2 GitLab Runner
gitlab/gitlab-runner 0.19.1 13.2.1 GitLab Runner
gitlab/gitlab-runner 0.19.0 13.2.0 GitLab Runner
gitlab/gitlab-runner 0.18.3 13.1.3 GitLab Runner
gitlab/gitlab-runner 0.18.2 13.1.2 GitLab Runner
gitlab/gitlab-runner 0.18.1 13.1.1 GitLab Runner
gitlab/gitlab-runner 0.18.0 13.1.0 GitLab Runner
gitlab/gitlab-runner 0.17.2 13.0.2 GitLab Runner
gitlab/gitlab-runner 0.17.1 13.0.1 GitLab Runner
gitlab/gitlab-runner 0.17.0 13.0.0 GitLab Runner
gitlab/gitlab-runner 0.16.2 12.10.3 GitLab Runner
gitlab/gitlab-runner 0.16.1 12.10.2 GitLab Runner
gitlab/gitlab-runner 0.16.0 12.10.1 GitLab Runner
gitlab/gitlab-runner 0.15.1 12.9.1 GitLab Runner
gitlab/gitlab-runner 0.15.0 12.9.0 GitLab Runner
gitlab/gitlab-runner 0.14.0 12.8.0 GitLab Runner
gitlab/gitlab-runner 0.13.1 12.7.1 GitLab Runner
gitlab/gitlab-runner 0.13.0 12.7.0 GitLab Runner
gitlab/gitlab-runner 0.12.0 12.6.0 GitLab Runner
gitlab/gitlab-runner 0.11.0 12.5.0 GitLab Runner
gitlab/gitlab-runner 0.10.1 12.4.1 GitLab Runner
gitlab/gitlab-runner 0.10.0 12.4.0 GitLab Runner
gitlab/gitlab-runner 0.9.1 12.3.0 GitLab Runner
gitlab/gitlab-runner 0.9.0 12.3.0 GitLab Runner
gitlab/gitlab-runner 0.8.0 12.2.0 GitLab Runner
gitlab/gitlab-runner 0.7.0 12.1.0 GitLab Runner
gitlab/gitlab-runner 0.6.1 12.0.1 GitLab Runner
gitlab/gitlab-runner 0.6.0 12.0.0 GitLab Runner
gitlab/gitlab-runner 0.5.2 11.11.2 GitLab Runner
gitlab/gitlab-runner 0.5.1 11.11.1 GitLab Runner
gitlab/gitlab-runner 0.5.0 11.11.0 GitLab Runner
gitlab/gitlab-runner 0.4.1 11.10.1 GitLab Runner
gitlab/gitlab-runner 0.4.0 11.10.0 GitLab Runner
gitlab/gitlab-runner 0.3.0 11.9.0 GitLab Runner
gitlab/gitlab-runner 0.2.0 11.8.0 GitLab Runner
gitlab/gitlab-runner 0.1.45 11.7.0 GitLab Runner
gitlab/gitlab-runner 0.1.44 GitLab Runner
gitlab/gitlab-runner 0.1.43 GitLab Runner
gitlab/gitlab-runner 0.1.42 GitLab Runner
gitlab/gitlab-runner 0.1.41 GitLab Runner
gitlab/gitlab-runner 0.1.40 GitLab Runner
gitlab/gitlab-runner 0.1.39 GitLab Runner
gitlab/gitlab-runner 0.1.38 GitLab Runner
gitlab/gitlab-runner 0.1.37 GitLab Runner
gitlab/gitlab-runner 0.1.36 GitLab Runner
gitlab/gitlab-runner 0.1.35 GitLab Runner
gitlab/gitlab-runner 0.1.34 GitLab Runner
gitlab/gitlab-runner 0.1.33 GitLab Runner
gitlab/gitlab-runner 0.1.32 GitLab Runner
gitlab/gitlab-runner 0.1.31 GitLab Runner
gitlab/gitlab-runner 0.1.30 GitLab Runner
gitlab/gitlab-runner 0.1.29 GitLab Runner
gitlab/gitlab-runner 0.1.28 GitLab Runner
gitlab/gitlab-runner 0.1.27 GitLab Runner
gitlab/gitlab-runner 0.1.26 GitLab Runner
gitlab/gitlab-runner 0.1.25 GitLab Runner
gitlab/gitlab-runner 0.1.24 GitLab Runner
gitlab/gitlab-runner 0.1.23 GitLab Runner
gitlab/gitlab-runner 0.1.22 GitLab Runner
gitlab/gitlab-runner 0.1.21 GitLab Runner
gitlab/gitlab-runner 0.1.20 GitLab Runner
gitlab/gitlab-runner 0.1.19 GitLab Runner
gitlab/gitlab-runner 0.1.18 GitLab Runner
gitlab/gitlab-runner 0.1.17 GitLab Runner
gitlab/gitlab-runner 0.1.16 GitLab Runner
gitlab/gitlab-runner 0.1.15 GitLab Runner
gitlab/gitlab-runner 0.1.14 GitLab Runner
gitlab/gitlab-runner 0.1.13 GitLab Runner
2.2 如果 GitLab 是自建的,要确认网络
Runner Pod 必须能访问 GitLab API。
例如你的 GitLab 地址是:
gitlabUrl: https://gitlab.example.com
那在 Runner Pod 里应该能访问:
curl -I https://gitlab.example.com
如果 GitLab 用的是自签证书,需要额外配置 CA Secret,然后在 values 里加:
certsSecretName: gitlab-ca-cert
评论 (0)