gitlab runner k8s部署

axing
2026-05-27 / 0 评论 / 2 阅读 / 正在检测是否收录...

一、架构

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

mpmrtha8.png

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=true
Argo 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-runner
root@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

评论 (0)

取消