Шлях до Helm 4
Ми вже певний час кажемо, що Helm — це «стабільне програмне забезпечення». Це не має дивувати нікого, хто знайомий із Kubernetes та його екосистемою: багато хто в спільноті Kubernetes вважає Helm фактичним стандартом серед менеджерів пакунків. Helm використовують дуже широко: від проєктів спільноти з відкритим кодом і стартапів до компаній зі списку Fortune 500. Helm став важливою частиною процесів збирання та розгортання, які обслуговують критично важливі системи.
Один із головних принципів проєкту Helm — суворо дотримуватися політики зворотної сумісності. Саме завдяки цьому підходу, що обмежує вплив змін на кінцевих користувачів, Helm став стабільним проєктом, на який може покластися спільнота. На жаль, політика зворотної сумісності обмежує типи змін і функцій, які можна запроваджувати. Важливо памʼятати, що Helm — це не лише інструмент командного рядка, а й SDK. SDK Helm підтримує цілу екосистему рішень для керування вмістом Helm. Будь-яка несумісна зміна може негативно вплинути на одну з цих інтеграцій.
Попри суворі обмеження на зміни, від випуску Helm 3 у 2019 році проєкт поступово додавав нові можливості. Першою такою функцією, що зʼявилася у Helm 3.1.0, став пострендеринг: він дає змогу користувачам змінювати згенеровані маніфести перед їхнім встановленням або оновленням за допомогою Helm. Додавання етапу пострендерингу до життєвого циклу релізу Helm стало важливою зміною і для користувачів, і для супровідників чартів. Користувачам більше не потрібно виправляти чарти, створювати їхні форки чи вручну рендерити шаблони локально, щоб внести власні зміни. Завдяки цьому супровідникам чартів більше не потрібно надмірно ускладнювати чарти, намагаючись охопити всі можливі сценарії. Відтоді мінорні версії Helm із новими функціями виходять щокварталу й надають користувачам дедалі більше можливостей.
Ще однією важливою новою функцією Helm 3 стала підтримка реєстрів OCI як способу поширення чартів. Підтримка цієї експериментальної функції зʼявилася у Helm 3.0.0, а повноцінною вона стала у версії 3.8.0. Користувачі CLI та SDK отримали змогу зберігати чарти тим самим перевіреним способом, що й образи контейнерів. Оскільки чарти в реєстрах контейнерів відповідають стандартам OCI, користувачі Helm і супровідники чартів також можуть використовувати для роботи з ними багато інструментів для образів контейнерів, які постійно вдосконалюються. Helm допоміг стандартизувати ширшу екосистему Cloud Native: це був один із перших проєктів, що використав OCI для зберігання, і він сприяв популяризації артефактів OCI в інших проєктах. Повний перелік нових функцій Helm можна знайти в примітках до випуску кожної мінорної версії в репозиторії.
Успіх Helm частково повʼязаний з архітектурними змінами, запровадженими у Helm 3. Серверний компонент Tiller, який обмежував використання Helm у багатокористувацьких середовищах і середовищах із підвищеними вимогами до безпеки, залишився в минулому. Також було внесено безліч інших удосконалень, які відрізняють Helm 3 від попередніх версій.
Маркус Лемоніс сказав: «Якщо не розвиватися — загинеш». Це особливо справедливо для технологічної галузі, де щодня зʼявляються нові інструменти, підходи й архітектури. Від випуску Helm 3 минуло пʼять років, і завдяки відгукам спільноти стало зрозуміло: проєкту потрібні суттєвіші зміни, щоб Helm і надалі залишався ефективним менеджером пакунків для Kubernetes. Тож спільнота Helm із радістю оголошує про початок роботи над шляхом до Helm 4.
ContribFest про Helm 4 на KubeCon EU 2024
Часто запитують: «Чи популярний Helm?» Відгуки учасників таких заходів, як KubeCon, де сесії про проєкт збирають повні зали, дають однозначну відповідь: «Так!» Перші кроки до збору відгуків спільноти відкритого коду про наступну версію Helm відбулися на KubeCon EU 2024 у Парижі. Це сталося під час сесії ContribFest під назвою «Building the Helm 4 Highway». Очевидно, що спільнота зацікавлена в розвитку можливостей проєкту Helm. Сесія зібрала повний зал, а учасники запропонували чимало цікавих ідей: додати підтримку мов шаблонів, крім Go, розширити використання втулків і посилити підтримку безпечного ланцюга постачання програмного забезпечення, зокрема додати інші способи підписання чартів. Повний перелік ідей і тем сесії ContribFest доступний тут.
Як долучитися
Якщо ви хочете взяти участь у створенні наступної версії Helm — будемо раді бачити вас! Ось кілька способів долучитися:
- Приєднуйтеся до щотижневих зустрічей щодо плану розвитку Helm 4, які відбуваються щопʼятниці о 19:00 UTC. Учасники спільноти діляться ідеями, розробляють рішення та співпрацюють над наступною версією Helm.
- Беріть участь в обговореннях у каналі #helm-dev у Kubernetes Slack. Там учасники спільноти Helm співпрацюють над розвитком Helm, зокрема над версією 4.
- Створіть тікет у репозиторії Helm на GitHub.
- Стежте за @HelmPack у Twitter/X, щоб дізнаватися новини про проєкт.
Helm допоміг визначити, як пакувати програмне забезпечення для Kubernetes і керувати ним. Але на цьому не зупиняймося: вдосконалюючи Helm 4 і додаючи до нього нові функції та можливості, ми й надалі створюватимемо інструмент, яким спільнота зможе впевнено користуватися для пошуку, поширення та запуску програмного забезпечення в Kubernetes.
