GitLab Runner
GitLab Runner installé sur le cluster k3s avec l'executor Kubernetes. Exécute les pipelines CI/CD directement dans des pods.
Architecture
GitLab.com (CI/CD)
│
│ déclenche pipeline
│
▼
GitLab Runner (namespace gitlab-runner, k3s-worker01)
│
│ crée un pod par job
│
▼
Pod Kubernetes (executor kubernetes)
│
├── image: python:3.13 (test, sast)
├── image: docker:27-dind (build, scan, push)
└── image: zaproxy (dast)
Installation
Déployé via Helm par le rôle Ansible gitlab_runner :
helm repo add gitlab https://charts.gitlab.io
helm repo update
helm upgrade --install gitlab-runner gitlab/gitlab-runner \
--namespace gitlab-runner --create-namespace \
--set gitlabUrl=https://gitlab.mounik.ovh \
--set runnerRegistrationToken=<token> \
--set runners.executor=kubernetes \
--set rbac.create=true
Configuration
| Paramètre | Valeur |
|---|---|
| Executor | kubernetes |
| Image par défaut | python:3.13-slim |
| Namespace | gitlab-runner |
| Tags | kubernetes |
| Concurrent | 4 jobs max |
Tags dans .gitlab-ci.yml
test:
stage: test
tags:
- kubernetes
script:
- pytest
Cache et volumes
Le runner monte automatiquement :
/var/run/docker.sockpour Docker-in-Docker/cachepour le cache des dépendances entre jobs
Vérification
kubectl get pods -n gitlab-runner
kubectl logs -n gitlab-runner -l app=gitlab-runner
# Vérifier l'enregistrement dans GitLab
# Settings → CI/CD → Runners
Pour aller plus loin
- Kubernetes — Vue d'ensemble — cluster k3s
- ArgoCD & GitOps — déploiement continu GitOps
- Phase 5 — Kubernetes — déploiement complet