Глосарій
Цю сторінку ще не було оновлено для Helm 4. Деякі відомості можуть бути неточними або не стосуватися Helm 4. Докладнішу інформацію про нові функції, вдосконалення та істотні зміни в Helm 4 див. в Огляді Helm 4.
Чарт
Пакет Helm, що містить інформацію, достатню для встановлення набору ресурсів Kubernetes у кластер Kubernetes.
Чарти містять файл Chart.yaml, а також шаблони, стандартні значення
(values.yaml) та залежності.
Чарти створюються у чітко визначеній структурі тек, а потім упаковуються в архів, який називається архів чарту.
Архів чарту
Архів чарту — це архів у форматі tar та gzip (та підписом, за бажанням).
Залежності чартів (субчарти)
Чарти можуть залежати від інших чартів. Існує два типи залежностей:
- Мʼякі залежності: чарт може просто не працювати без іншого чарту, встановленого в кластері. Helm не надає інструментів для цього випадку. У цьому випадку залежності можна керувати окремо.
- Жорсткі залежності: чарт може містити (у своїй теці
charts/) інший чарт, від якого він залежить. У цьому випадку під час встановлення чарту будуть встановлені всі його залежності. У цьому випадку чарт і його залежності управляються як колекція.
Коли чарт упаковується (за допомогою helm package), всі його жорсткі залежності додаються до нього.
Версія чарту
Чарти версіонуються відповідно до специфікації SemVer 2. Номер версії обовʼязково вказується у кожному чарті.
Chart.yaml
Інформація про чарт зберігається в спеціальному файлі з назвою Chart.yaml. Кожен чарт повинен мати цей файл.
Helm (та helm)
Helm — це менеджер пакетів для Kubernetes. Так само, як менеджер пакетів операційної системи спрощує встановлення інструментів в ОС, Helm спрощує встановлення застосунків та ресурсів у кластерах Kubernetes.
Хоча Helm — це назва проєкту, клієнт командного рядка також називається helm. За домовленістю, коли йдеться про проєкт, Helm пишеться з великої літери. Коли йдеться про клієнта, helm пишеться з малої літери.
Файли конфігурації Helm (XDG)
Helm зберігає свої файли конфігурації в теках XDG. Ці теки створюються під час першого запуску helm.
Kube Config (KUBECONFIG)
Клієнт Helm отримує інформацію про кластери Kubernetes за допомогою файлів у форматі Kube config. Стандартно Helm намагається знайти цей файл у місці, де його створює kubectl ($HOME/.kube/config).
Lint (Перевірка)
Lint чартів означає перевірку їх відповідності стандартам і вимогам Helm chart. Helm надає інструменти для цього, зокрема команду helm lint.
Походження (файл походження)
До чартів Helm може додаватися файл походження, який містить інформацію про походження чарту та його вміст.
Файли походження є частиною системи безпеки Helm. Походження містить криптографічний хеш файлу архіву чарта, дані Chart.yaml та блок підпису (блок OpenPGP «clearsign»). У поєднанні з ланцюжком ключів це надає користувачам чартів можливість:
- Перевірити, чи чарт було підписано довіреною стороною
- Перевірити, чи файл чарту не було підроблено
- Перевірити вміст метаданих чарту (
Chart.yaml) - Швидко порівняти чарт з даними про його походження
Файли provenance мають розширення .prov і можуть бути надані з сервера репозиторію чартів або будь-якого іншого HTTP-сервера.
Release
Коли чарт встановлено, бібліотека Helm створює release для відстеження цього встановлення.
Один чарт може бути встановлений багато разів в одному кластері і може створити багато різних релізів. Наприклад, можна встановити три бази даних PostgreSQL, тричі запустивши helm install з різними іменами релізів.
Номер релізу (версія релізу)
Один реліз може бути оновлений кілька разів. Для відстеження змін у релізах використовується послідовний лічильник. Після першого helm install реліз матиме номер релізу 1. Кожного разу, коли реліз оновлюється або відкочується, номер релізу збільшується.
Відкат
Реліз можна оновити до нової версії або конфігурації. Але оскільки історія релізів зберігається, реліз також можна повернути до попереднього номера релізу. Це робиться за допомогою команди helm rollback.
Важливо, що повернений реліз отримає новий номер релізу.
| Операція | Номер релізу |
|---|---|
| install | release 1 |
| upgrade | release 2 |
| upgrade | release 3 |
| rollback 1 | release 4 (але з тією ж конфігурацією, що і у версії 1) |
У таблиці вище показано, як збільшуються номери релізів під час встановлення, оновлення та відкату.
Бібліотека Helm (або SDK)
Бібліотека Helm (або SDK) — це код Go, який безпосередньо взаємодіє з сервером API Kubernetes для встановлення, оновлення, запиту та видалення ресурсів Kubernetes. Її можна імпортувати в проєкт, щоб використовувати Helm як клієнтську бібліотеку замість CLI.
Репозиторій (Repo, Chart Repository)
Helm-чарти можуть зберігатися на спеціальних HTTP-серверах, які називаються репозиторіями чартів (репозиторіями або просто репозиторіями).
Сервер репозиторію чарту — це простий HTTP-сервер, здатний обробляти файл index.yaml, що описує набір чартів і надає інформацію про те, звідки можна завантажити кожен чарт. (Багато репозиторіїв чартів підтримують як чарти, так і файл index.yaml.)
Клієнт Helm може вказувати на нуль або більше репозиторіїв чартів. Стандартно клієнти Helm не налаштовані на жодні репозиторії чартів. Репозиторії чартів можна додати в будь-який час за допомогою команди helm repo add.
Реєстр чартів (реєстр OCI)
Реєстр чартів Helm — це система зберігання та розподілу на основі OCI, яка використовується для розміщення та обміну пакетами чартів Helm. Докладнішу інформацію див. у документації Helm про реєстри.
Значення (файли значень, values.yaml)
Значення дають змогу замінити стандартні значення шаблону вашою власною інформацією.
Чарти Helm є «параметризованими», що означає, що розробник чарту може надати конфігурацію, яку можна замінити під час встановлення. Наприклад, чарт може надати поле username, яке дозволяє встановити імʼя користувача для сервісу.
Ці доступні змінні в термінології Helm називаються values.
Значення можна встановити під час операцій helm install та helm upgrade, або шляхом їх прямого введення, або за допомогою файлу values.yaml.
📄️ Документація
Все, що вам потрібно знати про те, як організована документація.
📄️ Огляд Helm 4
Helm v4 є значним кроком вперед порівняно з v3, запроваджуючи кардинальні зміни, нові архітектурні шаблони та розширену функціональність, зберігаючи при цьому зворотну сумісність чартів.
📄️ Повний список змін
Обсяг: 290 PR від (v4.0.0-rc.1) порівняно з v3.19.0
🗃️ Вступ
4 елементи
🗃️ Поради
3 елементи
🗃️ Посібники
16 елементів
🗃️ Найкращі практики
8 елементів
🗃️ Шаблони чартів
16 елементів
🗃️ Втулки
3 елементи
🗃️ Команди Helm
59 елементів
🗃️ Go SDK
2 елементи
🗃️ Часті питання
2 елементи
📄️ Глосарій
Терміни, які використовуються для опису компонентів архітектури Helm.