Self-hosted GitHub Actions runners на ваших Linux-, Mac- и Windows-машинах: для каждой задачи создаётся новый контейнер, VM или аккаунт.
actions/actions-runner-controller
Оператор Kubernetes для запуска и автоматического масштабирования self-hosted GitHub Actions runners в эфемерных контейнерах.
- Звёзды
- 6,632
- Форки
- 1,506
- Открытые issues
- 393
- Последний коммит
- 4 дня назад
Что это?
Actions Runner Controller (ARC) — оператор Kubernetes для запуска self-hosted runners в GitHub Actions. Он создаёт runner scale sets, которые расширяются или сокращаются в зависимости от числа запущенных workflows в репозитории, организации или на уровне enterprise.
Runners обычно эфемерные и работают в контейнерах: новые экземпляры можно быстро запускать и удалять, не сохраняя состояние между заданиями. ARC устанавливается через Helm и настраивается в кластере Kubernetes, где будут работать runners.
Проект разрабатывается совместно с командой GitHub Actions. Новые runner scale sets с автоматическим масштабированием поддерживаются GitHub, а более старые режимы масштабирования поддерживает сообщество.
Ключевые возможности
- 01Автоматически масштабирует runner scale sets в зависимости от заданий workflows в очереди и выполняющихся заданий.
- 02Запускает эфемерные runners в контейнерах на Kubernetes.
- 03Устанавливается с помощью Helm chart.
- 04Поддерживает регистрацию runners на уровне репозитория, организации или enterprise.
Сценарии использования
- Запуск CI-заданий в собственном кластере вместо runners, размещённых на GitHub.
- Увеличение вычислительных ресурсов для сборок в часы пик и их сокращение в периоды простоя.
- Изоляция каждого задания в новом контейнере для более чистых сборок.
Быстрый старт
- 1
Настройте кластер Kubernetes и установите ARC с помощью Helm, следуя руководству Quickstart, ссылка на которое приведена в README
- 2
Создайте runner scale set и запустите использующий его workflow, как описано в документации по развертыванию
Что важно знать
- Требуется кластер Kubernetes, поэтому это решение не подходит для конфигураций без Kubernetes.
- Поддержкой устаревших режимов автомасштабирования занимается только сообщество, а не GitHub.
В подборках
Темы
Частые вопросы
- Что такое actions-runner-controller?
- Оператор Kubernetes для запуска и автоматического масштабирования self-hosted GitHub Actions runners в эфемерных контейнерах. Actions Runner Controller (ARC) — оператор Kubernetes для запуска self-hosted runners в GitHub Actions. Он создаёт runner scale sets, которые расширяются или сокращаются в зависимости от числа запущенных workflows в репозитории, организации или на уровне enterprise.
- actions-runner-controller можно использовать бесплатно? Какая у него лицензия?
- actions-runner-controller распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- actions-runner-controller всё ещё поддерживается?
- Активно поддерживается. Последний коммит в actions-runner-controller — 2 нояб. 2026 г..
- Для чего можно использовать actions-runner-controller?
- Запуск CI-заданий в собственном кластере вместо runners, размещённых на GitHub. Увеличение вычислительных ресурсов для сборок в часы пик и их сокращение в периоды простоя. Изоляция каждого задания в новом контейнере для более чистых сборок.
- Как установить actions-runner-controller?
- Настройте кластер Kubernetes и установите ARC с помощью Helm, следуя руководству Quickstart, ссылка на которое приведена в README Создайте runner scale set и запустите использующий его workflow, как описано в документации по развертыванию
- Где скачать actions-runner-controller?
- Исходный код и инструкции по установке — на GitHub: https://github.com/actions/actions-runner-controller
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Набор операторов Kubernetes для автоматизации запуска инференса LLM, дообучения моделей и RAG-сервисов на GPU-узлах.
Компоненты Kubernetes автоматически масштабируют узлы кластера и корректируют запросы подов на CPU и память.
Декларативный инструмент непрерывной доставки по модели GitOps, который синхронизирует приложения в Kubernetes с состоянием, заданным в Git-репозиториях.
Go SDK для разработки Kubernetes-операторов: высокоуровневые API, шаблоны проектов и генерация кода на базе controller-runtime.
Набор библиотек Go для создания контроллеров и операторов Kubernetes, лежащий в основе Kubebuilder и Operator SDK.