Helm¶
Helm — пакетний менеджер для Kubernetes, що дозволяє визначати, встановлювати та оновлювати застосунки у кластері через шаблонізовані пакети, які називаються charts.
Опис¶
Helm chart — це колекція файлів, що описують пов'язаний набір Kubernetes-ресурсів. Chart містить шаблони маніфестів (Deployment, Service, Ingress тощо) та файл значень values.yaml, в якому задаються параметри за замовчуванням. При встановленні оператор може перевизначити будь-яке значення через аргументи командного рядка або окремий файл my-values.yaml. Шаблонізатор на основі Go templates підставляє значення у маніфести перед надсиланням до API Kubernetes.
Встановлений chart утворює Release — конкретний екземпляр застосунку в кластері. Helm відстежує історію релізів, що дозволяє відкатитись до будь-якої попередньої версії командою helm rollback. Репозиторії charts (ArtifactHub, Bitnami, офіційні репозиторії проектів) надають готові пакети для тисяч популярних застосунків — від Nginx до PostgreSQL.
Helm 3 (актуальна версія) відмовився від серверного компонента Tiller на користь клієнтської архітектури з прямим доступом до Kubernetes API через kubeconfig. Це суттєво спростило безпеку: права Helm тепер дорівнюють правам облікового запису, від якого він запущений.
Helmfile — інструмент-надбудова, що декларативно описує набір Helm releases для цілого середовища. Він дозволяє керувати залежностями між releases та синхронізувати стан кластера одною командою helmfile sync.
В контексті UMTC¶
Helm використовується для стандартизованого розгортання UMTC-сервісів на Kubernetes-кластерах. Кожен сервіс (Wiki, моніторинговий стек, LTE-бекенди) має власний chart з values.yaml для різних середовищ: values-dev.yaml, values-staging.yaml, values-prod.yaml.
При розгортанні на новому кластері достатньо виконати кілька команд helm install, щоб отримати повністю налаштоване середовище. Це критично для швидкого розгортання інфраструктури в польових умовах, де час є ключовим фактором.
Пов'язані терміни¶
- kubernetes — платформа, для якої Helm є пакетним менеджером
- docker — контейнерні образи, якими оперують Helm charts
- ansible — альтернативний підхід до автоматизації; часто використовується разом із Helm для підготовки інфраструктури
Посилання¶
Шлях: glossary/helm.md