Первый major-релиз addon-operator для Kubernetes — v1.0.0. Стабильные Go-хуки и не только

У addon-operator, нашего Open Source-инструмента для работы с дополнениями в Kubernetes, появился долгожданный релиз v1.0.0 (а вскоре и корректирующий v1.0.1). Напомним, что с помощью addon-operator можно управлять модулями к K8s, созданными с использованием другого Open Source-проекта, — shell-operator. Последний же предназначен для того, чтобы просто и быстро создавать Kubernetes-операторы.

Для знакомства с основными возможностями этих инструментов рекомендуем обзорные статьи про addon-operator и shell-operator, а также текстовую версию видеодоклада «Расширяем и дополняем Kubernetes».

С первым major-релизом в addon-operator появилось немало новых фич. Расскажем о самых важных.

Изменения в addon-operator v1.0

Новые фичи общего характера:

  • Добавлена переменная HELM_IGNORE_RELEASE, чтобы установить addon-operator с помощью Helm в тот же namespace, где будут установлены модули (подробнее см. в #176 и в документации).

  • В конфигурации хука появились параметры executionMinPeriod и executionBurst из shell-operator (подробнее см. в #256). Они задают максимальную частоту выполнения хука, чтобы у него была возможность обрабатывать всплески событий. 

  • Разделены экземпляры клиента Kubernetes для хуков, патчеров и мониторинга ресурсов Helm. У каждого клиента теперь свои настройки throttling (подробнее в документации и в коде), поэтому уменьшение частоты запросов от мониторов Helm-ресурсов не затормаживает события на запуск хуков.

  • Ускорен выкат Helm-релизов модулей благодаря изменениям в механизме auto-healing (#234):

    • Helm 3 стал частью addon-operator. Если в образе нет бинарника Helm, то будет использоваться встроенный Helm. Это ускоряет обработку шаблонов модулей перед их запуском.

    • Монитор Helm-ресурсов запрашивает информацию о ресурсах параллельно и заканчивает свою работу, как только найдёт несуществующий ресурс.

  • Устранена плавающая ошибка при старте подписок хука: добавлено ожидание синхронизированного состояния кэша информеров. Изменение пришло из shell-operator (#326).

  • Кодовая база переведена на Go 1.16.

Около года назад в addon-operator появилась поддержка хуков, написанных на языке Go. В частности, мы воспользовались этим в своей Kubernetes-платформе Deckhouse, модули которой переписали на Go. За минувшее время поддержка Go-хуков дорабатывалась и улучшалась, благодаря чему больше не является экспериментальной (хотя всё ещё нуждается в документации).

В контексте Go-хуков релиз addon-operator 1.0 принёс:

  • Добавлен MetricsCollector для упрощения работы с метриками (#223, #211).

  • Патчи Kubernetes объектов теперь накапливаются через PatchCollector и применяются после работы хука, как и для обычных хуков ​​(#229).

  • Экспериментальная возможность динамических привязок. Теперь во время работы хука можно «переподписаться» на другие объекты, изменив apiVersion и kind, или остановить работу подписки (подробнее см. в #216).

  • Множество улучшений во внутреннем устройстве Go-хуков (#212, #210, #206, #200, #196 и другие).

Изменения в версии 1.0.1, выпущенной сегодня:

  • Сообщения от Kubernetes клиентов и helm3lib перенаправляются в logrus для формирования валидного JSON-лога (#253).

  • Исправлен откат Pending-релизов в helm3lib​ (#254).

Одновременно с релизом addon-operator 1.0 вышло и незначительное обновление shell-operator — 1.0.4. Главным изменением в нем стала аналогичная миграция кодовой базы на Go 1.16.

Развитие проектов

В настоящий момент проекты фактически развиваются вместе с Kubernetes-платформой Deckhouse, будучи её важными компонентами. Новые фичи добавляются по мере появления потребности в них именно в контексте развития платформы. Несмотря на это, оба инструмента популярны и как самостоятельные проекты: shell-operator набрал уже 1400+ звезд на GitHub, addon-operator — 300+. В частности, нам известно об их применении в таких компаниях, как KubeSphere, Confluent и Adobe.

P. S. 

Читайте также в нашем блоге:

Читайте так же:

  • Арбитраж криптовалют, реальный опытАрбитраж криптовалют, реальный опыт Со стартом биткоиновой лихорадки в интернете появилось бесчисленное множество интересных проектов, начиная от ICO, облачного майнинга и заканчивая влогами и курсами по трейдингу, майнингу и т.п. Я же обратил внимание на крипто арбитраж, о чем мы сейчас и поговорим.Долго я присматривался […]
  • CNBC: Маск продаёт акции Tesla из-за налогового счёта в $15 млрдCNBC: Маск продаёт акции Tesla из-за налогового счёта в $15 млрд Как предположило издание CNBC, вне зависимости от результатов опроса в микроблоге Илон Маск всё равно продаст акции Telsa, поскольку ему грозит налоговый счёт по опционам на акции в размере $15 млрд. Маск заверил, что будет придерживаться результатов опроса подписчиков в Twitter, но CNBC […]
  • Электросамолет Rolls-Royce установил рекорд скорости среди себе подобныхЭлектросамолет Rolls-Royce установил рекорд скорости среди себе подобных Rolls-Royce объявила, что разработанный компанией электрический самолет Spirit of Innovation установил мировой рекорд скорости в своем классе.Компания подала три заявки в Международную авиационную федерацию (Fédération Aéronautique Internationale), чтобы зафиксировать разгон […]
  • Участники рынка помогут исключить из реестра российского ПО до 30 % продуктовУчастники рынка помогут исключить из реестра российского ПО до 30 % продуктов Источник из экспертного совета реестра ПО в Минцифры сообщил, что участников рынка софта привлекут к ревизии российского ПО. По ее итогам из реестра могут исключить до 30 % продуктов. GTA San-AndreasОдновременно Минцифры работает над небольшими изменениями критериев признания софта […]