Skip to content

Запуск подов gitlab-runner на нужных нодах

Для эффективного использования ресурсов Kubernetes и управления распределением подов (pods) GitLab Runner на определённых нодах, можно использовать метки (labels) и селекторы нод (node selectors). В этой статье мы рассмотрим шаги, необходимые для меток нод и назначения подов с использованием селекторов нод.

1. Добавление меток к нодам

Первый шаг заключается в добавлении меток к нодам, на которых вы хотите запускать поды GitLab Runner. Например, для метки ноды k8s-master01.example.com с меткой run-gitlab-runner=true, выполните следующую команду:

kubectl label node k8s-master01.example.com run-gitlab-runner=true
Проверка меток ноды

Чтобы убедиться, что метка была добавлена правильно, используйте команду kubectl describe node: kubectl describe node <node-name>

2. Создание файла патча для селектора нод

Теперь, когда ноды помечены, необходимо создать файл патча для вашего деплоймента, чтобы поды GitLab Runner запускались только на нодах с меткой run-gitlab-runner=true. Создайте файл node-selector-patch.yaml с содержимым:

$ vim node-selector-patch.yaml
spec:
  template:
    spec:
      nodeSelector:
        run-nginx-ingress=true

3. Применение патча к деплойменту

После создания файла патча примените его к вашему деплойменту. Предположим, что ваш деплоймент называется gitlab-runner-deployment. Используйте следующую команду для применения патча: kubectl patch deployment gitlab-runner-deployment --patch "$(cat node-selector-patch.yaml)"

Следуя этим шагам, вы можете эффективно управлять распределением подов GitLab Runner, гарантируя, что они будут запускаться только на тех нодах, которые вы отметили соответствующими метками.