Загальні домовленості
Ця частина Посібника з найкращих практик пояснює загальні домовленості.
Назви чартів
Назви чартів повинні відповідати правилам для міток 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 тощо).