Загальні домовленості
Ця частина Посібника з найкращих практик пояснює загальні домовленості.
Назви чартів
Назви чартів мають відповідати правилам міток DNS-1123: дозволені лише малі літери, цифри та дефіси; назви мають починатися й закінчуватися малою літерою або цифрою та не можуть перевищувати 63 символи:
Приклади:
drupal
nginx-lego
aws-cluster-autoscaler
До недійсних назв чартів належать:
- Назви з великими літерами (наприклад,
MyChart) - Назви з підкресленнями (наприклад,
my_chart) - Назви з крапками (наприклад,
my.chart) - Назви, що починаються з дефіса (наприклад,
-mychart) - Назви, що закінчуються дефісом (наприклад,
mychart-) - Назви довші за 63 символи
Команда helm lint перевіряє назви чартів за цими правилами.
Номери версій
По можливості, Helm використовує SemVer 2 для позначення номерів версій. (Зверніть увагу, що теґи Docker-образів не завжди відповідають SemVer і тому вважаються невдалим винятком з правила.)
Коли версії SemVer зберігаються в мітках Kubernetes, ми умовно змінюємо символ + на _, оскільки мітки не допускають використання знака + як значення.
Форматування YAML
Файли YAML повинні використовувати відступи у два пробіли (і ніколи табуляцією).
Використання слів Helm і Chart
Існує кілька домовленостей щодо використання слів Helm і helm.
- Helm відноситься до проєкту в цілому
helmвідноситься до клієнтської команди- Термін
chartне потрібно писати з великої літери, оскільки це не власна назва - Однак
Chart.yamlнеобхідно писати з великої літери, оскільки назва файлу чутлива до регістру
У разі сумніву використовуйте Helm (з великої літери "H").
Шаблони чартів і простори імен
Не задавайте властивість namespace у секції metadata шаблонів чарту. Простір імен, у якому слід застосувати відрендерені шаблони, потрібно вказувати під час виклику клієнта Kubernetes за допомогою прапорця, наприклад --namespace. Helm відрендерює шаблони без змін і передає їх клієнту Kubernetes — самому Helm або іншій програмі, як-от kubectl, Flux чи Spinnaker.