Gitlab Runner мы можем запускать не только на физических или виртуальных машинах, но и сразу разворачивать их в Kubernetes. Как мне кажется это достаточно удачное решение и сегодня мы попробуем с этим поиграть. У меня есть тестовый кластер кубика и публичный GitLab с которым можно побаловаться. Итого, погнали!
Создание gitlab-runner в публичном гитлабе особо не отличается от создания раннера в self-hosted, так-же задает тэги, пишем описание и т.п.

Ранер добавлен, токен получен, можем приступать к настройке. Как я уже сказал у нас есть настроенно k8s окружение или настройте его по инструкции из предыдущей статьи Установка Docker+DockerCompose+KubeCtl+Helm.
Добавляем Helm репозиторий.
$ helm repo add gitlab https://charts.gitlab.io
Обновляем.
$ helm repo update gitlab
Проверяем список доступных версий.
$ helm search repo -l gitlab/gitlab-runner
Создаем в кубере пространство имен.
$ kubectl create namespace k8s-runner-01

Создаем файл конфигурации. Пока для тестов сделаем на минималках values.yml
gitlabUrl: https://gitlab.com
runnerToken: "Токен полученный на этапе создания ранера"
Запускаем инстанс в нашем нэймспэйсе.
$ helm install --namespace k8s-runner-01 gitlab-runner -f ./values.yaml gitlab/gitlab-runner
И все работает, а главное это гораздо проще чем создавать виртуалки. А еще больше опций можно подсмотреть в его дефолтном конфиге https://gitlab.com/gitlab-org/charts/gitlab-runner/blob/main/values.yaml и при желании там можно и Sentry прикрутить.
