Skip to content

Instantly share code, notes, and snippets.

@kvaps
Last active March 5, 2023 19:31
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kvaps/3022b9cf15d9a96905e7695b7385e259 to your computer and use it in GitHub Desktop.
Save kvaps/3022b9cf15d9a96905e7695b7385e259 to your computer and use it in GitHub Desktop.
Gitlab docker runner for Kubernetes
apiVersion: v1
kind: ConfigMap
metadata:
name: gitlab-runner-docker
data:
config.toml: |
concurrent = 1
check_interval = 0
[[runners]]
name = "docker"
url = "https://gitlab.example.org/"
token = "8a71da9ea917a91d4868e65caf9f3c"
executor = "docker"
[runners.docker]
tls_verify = false
image = "docker:stable"
privileged = true
disable_cache = false
volumes = ["/cache", "/var/run/docker.sock:/var/run/docker.sock"]
shm_size = 0
network_mode = "host"
[runners.cache]
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: gitlab-runner-docker
spec:
replicas: 1
serviceName: gitlab-runner-docker
selector:
matchLabels:
name: gitlab-runner
template:
metadata:
labels:
name: gitlab-runner
spec:
containers:
- name: docker
args: [ "-H", "0.0.0.0:3275" ]
image: docker:dind
securityContext:
privileged: true
volumeMounts:
- mountPath: /var/lib/docker
name: docker-data
- name: gitlab-runner
args:
- run
env:
- name: DOCKER_HOST
value: "tcp://0.0.0.0:2375"
image: gitlab/gitlab-runner:latest
imagePullPolicy: Always
volumeMounts:
- mountPath: /etc/gitlab-runner
name: config
restartPolicy: Always
volumes:
- configMap:
name: gitlab-runner-docker
name: config
- hostPath:
path: /data/local/data/gitlab-runner-docker
name: docker-data
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment