0Pricing
DevOps Bootcamp · Урок

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

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

«Стандартные метки и соглашения об именовании» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 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 символа и причины неизменности меток селектора. Единообразные имена помогают сохранять кластеры аккуратными. ✅

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

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

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

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

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

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

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

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

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

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

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

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

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