Стандартные метки и соглашения об именовании
Использование рекомендуемых меток и правил 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-prodname и 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 — локальная установка не требуется.
Все уроки этого курса
- Стандартные метки и соглашения об именовании
- Разумные документированные значения по умолчанию
- Усиление защиты подов с помощью securityContext
- Фиксация версий и отказ от latest