Kroc - небольшой, но очень показательный проект для тех, кто хочет… — DevOps — TG.ME

Kroc - небольшой, но очень показательный проект для тех, кто хочет понять Kubernetes Operators не по слайдам, а по коду.

Идея простая: вы описываете CRD Kroc, указываете, за какими объектами в Kubernetes нужно следить, и задаёте шаблон ресурса, который должен быть создан на основе найденного объекта.

Например, оператор может смотреть за Deployment, брать из него нужные поля и автоматически создавать связанные Pod, Service, ConfigMap или другие Kubernetes-объекты.

Внутри используется Go и Kubebuilder.

Самое интересное - реактивная модель.

Если исходный объект изменился, производные ресурсы пересоздаются.

Если кто-то вручную удалил созданный объект, оператор создаст его снова, чтобы вернуть кластер в нужное состояние.

По сути, это хороший минимальный пример того, как работает operator pattern в Kubernetes:

наблюдаем за состоянием
сравниваем с желаемым
создаём или пересоздаём ресурсы
держим систему синхронизированной

Архитектура тоже полезная для разбора: проект разделяет логику на несколько контроллеров.

Один отвечает за CRD и конфигурацию, второй наблюдает за внешними Kubernetes-объектами, третий создаёт производные ресурсы из шаблонов.

Для новичков в Kubernetes Operators это намного понятнее, чем сразу лезть в большие production-операторы.

Kroc хорошо показывает базовую механику: CRD, reconcile loop, watch, template rendering и управление жизненным циклом дочерних объектов.

https://github.com/pawelcit/kroc
July 2, 2026 4.1K 79