Helm Academy · Урок

Стандартные метки и соглашения об именовании

Использование рекомендуемых меток и правил fullname

Урок 1 из 413 шагов

«Стандартные метки и соглашения об именовании» — бесплатный урок Helm Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Helm Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Helm Academy содержит 4 уроков всего.

Почему метки важны

Каждому ресурсу, который создаёт ваш чарт, нужны метки, чтобы люди и инструменты могли находить, группировать и впоследствии удалять эти ресурсы. Хорошие метки — основа аккуратного кластера.

Рекомендуемый набор меток

Kubernetes определяет рекомендуемые метки с префиксом app.kubernetes.io. Чарты Helm следуют этому соглашению, чтобы ваши ресурсы корректно работали с панелями мониторинга и другими инструментами.

labels:
  app.kubernetes.io/name: myapp
  app.kubernetes.io/instance: myapp-prod

name и instance

Метка app.kubernetes.io/name обозначает тип приложения, а app.kubernetes.io/instance — конкретный выпуск. Две установки одного чарта имеют общее значение name, но различаются значением instance.

managed-by сообщает инструменту

Установите для app.kubernetes.io/managed-by значение Helm, чтобы любой, кто просматривает кластер, сразу понимал: эти ресурсы принадлежат Helm и обновляются с его помощью.

app.kubernetes.io/managed-by: Helm

Метки версий

Добавьте app.kubernetes.io/version из appVersion чарта, а также helm.sh/chart из имени и версии чарта. Вместе они точно фиксируют, что именно было поставлено. 🏷️

Селекторные метки остаются неизменными

Метки селектора Deployment нельзя изменять после установки, поэтому в чартах используется небольшое неизменяемое подмножество: только name и instance, но не version.

selector:
  matchLabels:
    app.kubernetes.io/name: myapp
    app.kubernetes.io/instance: myapp-prod

Соглашение о полном имени

Helm называет ресурсы, используя полное имя, составленное из имени выпуска и имени чарта, например myapp-prod-web, чтобы два выпуска никогда не конфликтовали из-за имён ресурсов.

Почему ограничение составляет 63 символа

Kubernetes ограничивает имена 63 символами, поэтому стандартный вспомогательный шаблон полного имени обрезает длинные имена и удаляет завершающие дефисы, чтобы сохранить их допустимый формат.

{{ include "myapp.fullname" . }}

Повторное использование через _helpers.tpl

Определите метки один раз в _helpers.tpl как именованный шаблон, а затем подключайте его в каждом ресурсе. Одно место для изменений помогает сохранять единообразие всех манифестов.

{{ include "myapp.labels" . | nindent 4 }}

Не перегружайте метки

Метки предназначены для выбора и группировки, а не для хранения больших объёмов данных. Помещайте описательную информацию, не содержащую идентификаторов, в аннотации, чтобы селекторы работали быстро.

Проверьте, что было установлено

После установки выполните команду kubectl get pods --show-labels, чтобы убедиться, что ваши ресурсы содержат ожидаемые метки. Доверяйте, но проверяйте.

kubectl get all -l app.kubernetes.io/instance=myapp-prod

Быстрая проверка

Какая метка отличает один выпуск чарта от другой установки того же чарта?

Итоги

Вы изучили рекомендуемые метки, соглашение о полном имени, ограничение в 63 символа и причины неизменности меток селектора. Единообразные имена помогают сохранять кластеры аккуратными. ✅

Можно начать бесплатно

Изучай YAML с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Стандартные метки и соглашения об именовании» бесплатный?

Да — полный текст урока «Стандартные метки и соглашения об именовании» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Helm Academy, подпишись на CoddyKit PRO. Курс Helm Academy содержит 4 уроков всего.

Чему я научусь в уроке «Стандартные метки и соглашения об именовании»?

Использование рекомендуемых меток и правил fullname Ты практикуешь Helm Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Helm Academy?

Предыдущий опыт не требуется. Helm Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Стандартные метки и соглашения об именовании»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Helm Academy?

Да. Каждый урок Helm Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Стандартные метки и соглашения об именовании
  2. Разумные документированные значения по умолчанию
  3. Усиление защиты подов с помощью securityContext
  4. Фиксация версий и отказ от latest
← Назад к Helm Academy