The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Первые публичные версии Nelm, форка Helm для развёртывания приложений в Kubernetes

04.04.2025 07:39

Объявлено о готовности к массовому использованию открытого проекта Nelm, позиционируемого как "альтернатива Helm 3". Nelm зародился в процессе разработки CI/CD-утилиты werf как форк Helm, пакетного менеджера для Kubernetes, который использует "чарты", чтобы развёртывать приложения в K8s. Код Nelm доступен на GitHub под лицензией Apache 2.0.

В форке решён ряд проблем, долгое время существующих в Helm, и добавлены новые возможности, среди которых:

  • Более консистентный подход к обновлению ресурсов Kubernetes с помощью технологии Server-Side Apply вместо 3-Way Merge;
  • Отслеживание состояния ресурсов и вывод логов во время развёртывания;
  • Наглядное планирование будущих релизов с выводом в стиле "terraform plan";
  • Поддержка работы с зашифрованными "values" и файлами.

В планах Nelm - предоставление альтернативы существующей Go-шаблонизации для чартов.

  1. Главная ссылка к новости (https://github.com/werf/nelm/...)
  2. OpenNews: Выпуск Cozystack 0.21, открытой PaaS-платформы на базе Kubernetes
  3. OpenNews: Microsoft открыл Hyperlight, гипервизор для изоляции отдельных функций в приложениях
  4. OpenNews: Проект Cozystack выпустил Talm, менеджер конфигураций для Talos Linux
  5. OpenNews: Релиз Polemarch 3.0, web-интерфейса для управления инфраструктурой
  6. OpenNews: Уязвимости в ingress-nginx, позволяющие выполнить код и захватить управление кластерами Kubernetes
Автор новости: Dmitry Shurupov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/63016-nelm
Ключевые слова: nelm, helm, fork
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.5, Аноним (5), 08:58, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Может s/развёртывать/разворачивать/ и s/консистентный/целостный/ ?
     
     
  • 2.6, Аноним (6), 09:39, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Деплоить и непротиворечивый!
     
  • 2.7, Bob (??), 09:41, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • –3 +/
    оставить оригинальные термины на английском, как в медицине латынь, например.

    Неспособных в это - отсеивать как профнепригодных. Что не адаптация с английского - одна (сплошная) эс.
    p.s.: 1С, кто знаком - поймёт и проклянёт

     
     
  • 3.8, Аноним (8), 10:14, 04/04/2025 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     

  • 1.9, mickvav (?), 11:05, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не для продакшена пока. Весь код мерджит один человек, хотя контрибьюторов - больше одного.
     
     
  • 2.10, Dmitry Shurupov (ok), 11:33, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Nelm используется под капотом у werf, а это много постоянных пользователей (тысячи проектов), в т.ч. в production, поэтому его внутренние механизмы хорошо протестированы.

    Но вот сама утилита, которая реализует CLI-интерфейс к этим механизмам и к которой приурочен первый крупный релиз (и эта новость), появилась недавно. Так что конкретно CLI-утилита ещё не использовалась широко, и с анонсом проекта ожидаем обратную связь. Новые контрибьюторы тоже приветствуются, потому что у разных людей может "болеть" разное в Helm.

     
     
  • 3.20, скуф (?), 22:16, 05/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    И все это не нужно потому, что есть Argocd в котором серверсайд рендер 5 лет как есть и никакой хельм для рендера не используется.
     
     
  • 4.21, Илья Лесиков (ok), 23:05, 05/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Насколько мне известно, для рендера в ArgoCD как раз используется "helm template". Server-Side Apply там действительно есть, но и деплоит ArgoCD не Helm'ом, а своим самописным движком. Проблема в том, что их движок развертывания очень условно совместим с Helm'ом, например:

    1. Функция "lookup" не имплементирована.
    2. "helm.sh/hook: pre-delete" не поддерживается.
    3. "helm.sh/hook: pre-rollback" и "post-rollback" не поддерживаются.
    4. "helm.sh/hook: pre-install" и "pre-upgrade" работают иначе, ломая обратную совместимость.
    5. ".Release.IsInstall" и ".Release.IsUpgrade" по существу не работают (Argo не знает, когда Install, когда Upgrade).

    Это так, с ходу. В Nelm гораздо больший фокус на совместимости с Helm-чартами, чтобы Helm-чарты можно было деплоить без изменений. Всё перечисленное в Nelm работает.

     
     
  • 5.23, Аноним (23), 20:27, 06/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Первые четыре пункта всё верно, и иногда приходится проектировать вокруг этого. На счёт пятого, считаю что в Argo концептуально правильно сделано. Инсталл или апгрейд не должны иметь значения, это ломает идемпотентность, а без неё это всё не лучше портянок на баше. И конечно же существует некое подмножество случаев, когда это важно, и для этих особенностей есть другие способы решения. Например, вынос императивных действий в отдельный Job.
     
     
  • 6.24, Илья Лесиков (ok), 14:49, 07/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Там смысл в том, что чарты заточены на .Release.IsInstall и .Release.IsUpgrade именно в Helm-овом понимании. Иначе выкат может ломаться и чарт придется форкать. Например, при IsInstall запускается какая-то джоба, которая при повторных запусках (upgrade) будет падать.

    Конечно IsInstall/IsUpgrade, как и lookup, всё усложняют, но многие чарты уже написаны, полагаясь на них. А весь смысл Helm именно в готовых публичных чартах, и если бы не они, думаю, Helm'ом едва бы кто пользовался сегодня.

     
     
  • 7.25, Аноним (23), 01:50, 08/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Какие-то чарты так написаны, да, и я в данном случае считаю правильным слать в апстрим патч, исправляющий это поведение. Но на всех патчей не напасёшься конечно, так что доля у тебя незавидная, видимо придётся и эту ересь поддерживать. К счастью, такое встречается довольно редко, ну или мне везло.
     

  • 1.11, Аноним (11), 12:34, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Выглядит не как альтернатива, а как просто надстройка на helm.
    - Нужно создавать чарт вручную. Непонятно, зачем выпиливать генерацию структуры чарта helm.
    - Вытекает из предыдущего. Так и не побеждена недоработка helm - невозможность создания структуры, отличной от deployment(statefulset, daemonset).

    Лично моё мнение, при всем уважении к Флант, пока геммороя от nelm больше, чем пользы.

     
     
  • 2.13, Илья Лесиков (ok), 14:20, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы про команду helm create? Мы не то, чтобы её выпиливали, мы её просто не добавили в 1.0, посчитав некритичной для релиза. Добавим позже, переработав. Решили пока не добавлять, т. к. не увидели в ней большой ценности — генерит очень много мусора, что больше похоже на какой-то quickstart для новичков, а не на генерацию структуры для нового чарта. Имхо, одна только замена 3-Way Merge на Server-Side Apply важнее команды helm create раз в 30.
     

  • 1.14, Аноним (23), 16:33, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Через годик-полтора посмотрим не превратится ли этот победитель дракона в дракона сам, не окажется ли там каких-то вредителей из подсанкционных структур, и как дальше сложится судьба этого проекта. Автору удачи и успехов. Тормошить статус кво — нужное и полезное дело.
     
  • 1.15, 12yoexpert (ok), 20:18, 04/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    на голанг невозможно написать нетормозящий софт. всё это было бы тщетно, даже если бы голанг не был вендорлокнутым
     
     
  • 2.16, Илья Лесиков (ok), 20:46, 04/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Nelm, думаю, в среднем 90% времени работает с сетью.
     
     
  • 3.19, 12yoexpert (ok), 13:01, 05/04/2025 [^] [^^] [^^^] [ответить]  
  • +/
    думаешь, если для сети голанг использует сишные либы, то оно не будет тормозить? ты недооцениваешь голанг
     
     
  • 4.22, Аноним (23), 17:54, 06/04/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.18, Штыбель (?), 01:50, 05/04/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кстати, сегодня (4.04) закончился KubeCon Europe 2025.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру