Контроллер Kubernetes и CRD для управления изолированными, сохраняющими состояние песочницами из одного pod — для сред выполнения AI-агентов и задач RL.
kubernetes-sigs/controller-runtime
Набор библиотек Go для создания контроллеров и операторов Kubernetes, лежащий в основе Kubebuilder и Operator SDK.
- Звёзды
- 2,988
- Форки
- 1,333
- Открытые issues
- 69
- Последний коммит
- позавчера
Что это?
controller-runtime — набор библиотек Go для написания контроллеров Kubernetes. Контроллер отслеживает ресурсы кластера и приводит их фактическое состояние в соответствие с желаемым, заданным в API. Библиотека предоставляет общую инфраструктуру для этого подхода: менеджеры, запускающие контроллеры, конструкторы для настройки отслеживания ресурсов и циклов reconcile, а также клиент для чтения и записи объектов.
Проект служит общей средой выполнения для Kubebuilder и Operator SDK — инструментов, с которых обычно начинают создавать каркас новых операторов. Разработчики, которые пишут собственные контроллеры напрямую на Go, обычно импортируют эти пакеты, а не реализуют вручную код для informer и очередей задач. Версии привязаны к минорным релизам Kubernetes; таблица совместимости сопоставляет каждый релиз controller-runtime с версией client-go и минимальной версией Go.
Ключевые возможности
- 01Менеджер для запуска нескольких контроллеров и координации их работы
- 02API Builder для объявления отслеживаемых ресурсов и логики reconcile
- 03Клиент с кэшем для чтения и записи объектов Kubernetes
- 04Поддержка вебхуков и выбора лидера
- 05Таблица совместимости, сопоставляющая релизы с версиями client-go и Go
Сценарии использования
- Создание собственного оператора Kubernetes на Go
- Написание контроллеров, которые выполняют reconcile пользовательских определений ресурсов
- Расширение проектов, сгенерированных Kubebuilder, дополнительной логикой контроллеров
Быстрый старт
- 1
Начните с Kubebuilder или Operator SDK, созданных на основе этой библиотеки (см. краткое руководство Kubebuilder).
Что важно знать
- Проект остается на нулевой основной версии, поэтому между минорными версиями возможны несовместимые изменения.
- Для каждой минорной версии указаны конкретная версия client-go и минимальная версия Go, поэтому их необходимо согласовать с зависимостями Kubernetes.
В подборках
Темы
Частые вопросы
- Что такое controller-runtime?
- Набор библиотек Go для создания контроллеров и операторов Kubernetes, лежащий в основе Kubebuilder и Operator SDK. controller-runtime — набор библиотек Go для написания контроллеров Kubernetes. Контроллер отслеживает ресурсы кластера и приводит их фактическое состояние в соответствие с желаемым, заданным в API. Библиотека предоставляет общую инфраструктуру для этого подхода: менеджеры, запускающие контроллеры, конструкторы для настройки отслеживания ресурсов и циклов reconcile, а также клиент для чтения и записи объектов.
- controller-runtime можно использовать бесплатно? Какая у него лицензия?
- controller-runtime распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- controller-runtime всё ещё поддерживается?
- Активно поддерживается. Последний коммит в controller-runtime — 5 нояб. 2026 г..
- Для чего можно использовать controller-runtime?
- Создание собственного оператора Kubernetes на Go Написание контроллеров, которые выполняют reconcile пользовательских определений ресурсов Расширение проектов, сгенерированных Kubebuilder, дополнительной логикой контроллеров
- Как установить controller-runtime?
- Начните с Kubebuilder или Operator SDK, созданных на основе этой библиотеки (см. краткое руководство Kubebuilder).
- Где скачать controller-runtime?
- Исходный код и инструкции по установке — на GitHub: https://github.com/kubernetes-sigs/controller-runtime
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Go SDK для разработки Kubernetes-операторов: высокоуровневые API, шаблоны проектов и генерация кода на базе controller-runtime.
Оператор Kubernetes для запуска и автоматического масштабирования self-hosted GitHub Actions runners в эфемерных контейнерах.
Оператор Kubernetes для развёртывания и управления приложениями Ray с помощью ресурсов RayCluster, RayJob и RayService.
Оператор Kubernetes для развертывания и управления K8sGPT: он использует AI-бэкенд для диагностики проблем кластера и при необходимости автоматически устраняет ошибки загрузки образов.
Набор операторов Kubernetes для автоматизации запуска инференса LLM, дообучения моделей и RAG-сервисов на GPU-узлах.