etcd-operator присоединяется к Cozystack с новым программный оболочку версии v1alpha2

3 мин
etcd-operator присоединяется к Cozystack с новым программный оболочку версии v1alpha2

Сообщество написало рабочий инструмент, а в CNCF решили сделать «свой, официальный». В результате забуксовали. А тем временем хитрый оператор etcd продолжает обрастать фичами и успешно крутиться в продакшене.

Проект etcd-operator, разрабатывающий инструмент для развертывания и обслуживания кластеров etcd в Kubernetes, стал частью экосистемы Cozystack. Наряду с передачей прав авторы представили полностью переписанную реализацию под новым api: etcd-operator.cozystack.io/v1alpha2. Она пришла на смену предыдущей версии etcd.aenix.io/v1alpha1.

Главное архитектурное новшество — отказ от управления узлами через StatefulSet. Теперь оператор работает с кластером напрямую через нативный Membership api самого etcd, используя операции MemberAddMemberPromote и MemberRemove. Это дает цельный и предсказуемый контроль над составом кластера. Код с нуля написал Тимофей Ларкин, один из мейнтейнеров оригинальной версии (ее исходники сохранены в ветке v1alpha1). Проект написан на Go и доступен под лицензией Apache 2.0.

Как работает новая архитектура управление кластерами. Она строится вокруг двух ресурсов.

  1. EtcdCluster описывает желаемое состояние: количество реплик, версию etcd, параметры хранилища, TLS, аутентификацию и тюнинг.

  2. EtcdMember создается оператором индивидуально для каждого узла и управляет его Pod’ом и PVC.

Здесь нет привычного StatefulSet — каждый узел синхронизируется (reconcile) независимо. Изменения состава проходят строго через api: новые участники добавляются в режиме обучения (MemberAdd) и только потом зарабатывают право голоса (MemberPromote). Исключение происходит через аккуратный вывод из кворума (MemberRemove). Если кластер ставится на паузу, идентификаторы узлов не теряются. Подробное обоснование такой архитектуры можно найти в файле concepts.md репозитория.

Хотите выиграть призы и бонусы на аренду серверов?

Приглашаем решить ИТ-кроссворд! Более 100 вопросов на разные темы из мира ИИ и машинного обучения — ежедневно с 6 по 9 июля

Зарегистрироваться →

Что изменилось по сравнению с v1alpha1

  • api-группа переехала с etcd.aenix.io на etcd-operator.cozystack.io.

  • На смену монолитному StatefulSet пришли независимые ресурсы EtcdMember.

  • Опасный свободный словарь spec.options заменен на строго типизированный набор параметров (quota-backend-bytes, настройки auto-compactionsnapshot-count). Раньше неверные флаги могли сломать логику оператора.

  • Ресурс EtcdBackup переименован в EtcdSnapshot при сохранении логики работы.

  • Валидация манифестов перенесена из вебхука в CEL-правила.

  • Service кластера переведен в headless-режим — это обязательное условие для стабильных DNS-имен узлов.

Для бесшовного перехода написана утилита etcd-migrate. Она проводит in-place миграцию: подхватывает живой кластер старого оператора без перемещения данных, перезапуска подов или потери кворума. Инструмент просто меняет владельцев объектов, лейблы и аннотации, после чего управление переходит к v1alpha2. Клиенты, обращающиеся к кластеру по DNS, даже не замечают подмены (подробнее процесс описан в migration.md).

Текущая реализация закрывает подавляющее большинство пунктов из дорожной карты оператора etcd. При этом v1alpha2 умеет создавать вещи, которых в официальном плане вообще нет.

  • Масштабирование в ноль (пауза/возобновление) с сохранением идентичности.

  • Хранение данных в памяти (tmpfs) с автоматической заменой узлов силами самого оператора.

  • CEL-валидация на стороне apiserver без лишних компонентов (ни вебхуков, ни сертификатов).

  • Автоматический PodDisruptionBudget, нацеленный строго на голосующие узлы.

  • Сабресурс /scale с заполненным status.selector, за счёт которому kubectl scale и VerticalPodAutoscaler.targetRef работают «из коробки».

  • Сквозной проброс правил планировщика (affinity, topologySpreadConstraints) и слияние additionalMetadata для всех дочерних объектов.

  • Инструмент для безопасной in-place миграции.

  • Плагин kubectl-etcd для повседневного обслуживания.

Подробности — на странице CNCF.

Напишите, что думаете, в комментариях. В частности, что принесет отказ от StatefulSet? Управление через Membership api не идет вразрез с классическими туториалами Kubernetes?

Читают сейчас

Trozk выпустила пауэрбанк Trozk Cellular Power Bank в стиле первого сотового телефона Motorola DynaTAC 8000X

1 час назад

Trozk выпустила пауэрбанк Trozk Cellular Power Bank в стиле первого сотового телефона Motorola DynaTAC 8000X

Компания Trozk выпустила внешний аккумулятор Trozk Cellular Power Bank в стиле первого коммерческого сотового телефона Motorola DynaTAC 8000X. Пауэрбанк ёмкостью 20 000 мАч равным образом можно исполь

Апдейт проекта KillerPDF 1.6.0 — редактора PDF с открытым исходным кодом для Windows 10/11

1 час назад

Апдейт проекта KillerPDF 1.6.0 — редактора PDF с открытым исходным кодом для Windows 10/11

В конце июня 2026 года вышло обновление открытого проекта KillerPDF 1.6.0. Это бесплатный легковесный портативный редактор PDF для Windows 10/11. Исходный исходник решения написан на С# и опубликован

Тревожный сигнал в отчете OpenAI про GPT-5.6, который почти никто не заметил

1 час назад

Тревожный сигнал в отчете OpenAI про GPT-5.6, который почти никто не заметил

26 июня OpenAI выпустила system card новой линейки GPT-5.6 — сама модель пока доступна в режиме превью для узкого круга доверенных партнеров. Основное внимание досталось скачку возможностей в кибербез

Meta* показала Brain2Qwerty v2: конвертируем мысли в слова с помощью шлема

1 час назад

Meta* показала Brain2Qwerty v2: конвертируем мысли в слова с помощью шлема

Представьте: вы надеваете шлем, садитесь за клавиатуру и просто думаете о тексте. Нейросеть тем временем печатает его за вас. Без сверления черепа, без имплантов, без риска занести инфекцию. Все еще з

SafeMobile представит свежий выпуск SM16.0 на вебинаре

1 час назад

SafeMobile представит свежий выпуск SM16.0 на вебинаре

Свежий релиз UEM-платформы SafeMobile делает работу администратора быстрее и самостоятельнее: управление без участия пользователя, новый АРМ, работающий в два раза быстрее, и новые возможности для And