Перейти к содержимому

Блог

Перестаньте платить за простаивающие CI: GitLab Runners на Kubernetes

Масштабируйте CI для пиков понедельника, затем снижайте мощность ночью и в выходные — пятиминутное руководство с пошаговыми видео.

  • Balinder Walia
  • 2 мин чтения
  • Updated

Большинство команд оплачивают непрерывную интеграцию так, будто каждый вечер и каждый выходной — всё ещё понедельник утром.GitLab Runners на Kubernetesменяют эту модель: масштабируют ресурсы при поступлении пайплайнов, а затем отключают их, когда в офисе наступает тишина. Прочитайтетехнический обзордля Helm параметров стоимости, настроек исполнителей и модели ценообразования.

GitLab Runners on Kubernetes — scale up by day, down at night

Итог.Запланируйте ресурсы на пиковую нагрузку, а снимите их в период спада. Временные контейнеры задач освобождают CPU, оперативную память и хранилище при снижении спроса — особенно в ночное время и в выходные — чтобы ферма понедельника не оплачивала счёт субботы.

Смотрите видео

1. Runners & pipelines— автоматическое масштабирование рабочих нагрузок GitLab Runner на Kubernetes.

youtu.be/vURXfbvWK_0

2. GitLab Server на HA Kubernetes— развёртывание с помощью Operator за несколько минут.

youtu.be/fu82hENYNEs· Документация:GitLab Operator

Дорогая привычка

  • Днём:запросы на слияние и тесты резко увеличивают нагрузку.
  • Ночью:активность падает, но фиксированные виртуальные машины продолжают потреблять CPU и оперативную память.
  • В выходные:часто почти без нагрузки — однако диски и узлы всё ещё могут быть оплачены.

Вы не платите за выполненные сборки. Вы платите за ресурсы, которые существуют, независимо от того, пользуются ими кто-то или нет.

Более простая картина

RunnerGitLabвыполняет задачи конвейера.Kubernetesможет создавать этих рабочих в виде кратковременных подов и удалять их после завершения задачи. При гипермасштабировании та же идея применяется к узлам: больше, когда очередь глубокая; меньше — в идеале почти никаких — ночью и в выходные.

Откуда приходят огромные экономии

  1. Масштабируйте вверхв рабочее время (когда работают люди или боты) — параллельные поды задач до пределов параллелизма и кластера.
  2. Жёстко масштабируйте внизкогда спрос исчезает — поды уходят; с автоматическим масштабированием кластера пустые узлы покидают пул.
  3. Перестаньте тратить CPU, RAM и хранилищена постоянно работающие флоты runners в тихие часы.
  4. Платите за результаты, а не за мебель— оставляйте GitLab и тонкий менеджер runners; пусть ферма испаряется в простое.

Огромные экономии проявляются, когда пик понедельника больше не диктует счёт за вторник в 3 часа ночи — и когда тишина субботы наконец выглядит тихой на инвойсе.

Официальная документация

Следующее:статьяо гипермасштабных технологияхпосвящена трекам Operator vs Helm, конкурентности, DinD, наблюдаемости и чек-листу FinOps. Промпт для создания курса:gitlab-runners-k3s-hyperscale-course.prompt.mdв репозитории сайта TenthMatrix (заменяет устаревшую ссылку devops.git).

Опубликовано вTenthMatrix.