Перейти к основному содержимому
Версия: 3.19.0

Метки и аннотации

Эта часть руководства по лучшим практикам посвящена использованию меток и аннотаций в чартах.

Метка или аннотация?

Элемент метаданных должен быть меткой, если:

  • Он используется Kubernetes для идентификации ресурса
  • Он полезен администраторам для запросов к системе.

Например, мы рекомендуем использовать helm.sh/chart: NAME-VERSION в качестве метки, чтобы администраторы могли легко находить все экземпляры определённого чарта.

Если элемент метаданных не используется для запросов, его следует устанавливать как аннотацию.

Хуки Helm всегда являются аннотациями.

Стандартные метки

В таблице ниже перечислены общепринятые метки, используемые в чартах Helm. Сам Helm не требует наличия какой-либо конкретной метки. Метки, отмеченные как REC, являются рекомендуемыми и должны присутствовать в чарте для обеспечения единообразия. Метки, отмеченные как OPT, являются опциональными. Они широко распространены, но редко требуются в рабочих процессах.

ИмяСтатусОписание
app.kubernetes.io/nameRECНазвание приложения целиком. Обычно используется {{ template "name" . }}. Эта метка используется во многих манифестах Kubernetes, не только в Helm.
helm.sh/chartRECНазвание и версия чарта: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}.
app.kubernetes.io/managed-byRECВсегда устанавливается в {{ .Release.Service }}. Используется для поиска всех ресурсов, управляемых Helm.
app.kubernetes.io/instanceRECУстанавливается в {{ .Release.Name }}. Помогает различать разные экземпляры одного и того же приложения.
app.kubernetes.io/versionOPTВерсия приложения. Может быть установлена в {{ .Chart.AppVersion }}.
app.kubernetes.io/componentOPTОбщепринятая метка для обозначения роли компонентов в приложении. Например, app.kubernetes.io/component: frontend.
app.kubernetes.io/part-ofOPTИспользуется, когда несколько чартов или программных компонентов вместе составляют единое приложение. Например, прикладное ПО и база данных для создания веб-сайта. Может быть установлена в название приложения верхнего уровня.

Подробную информацию о метках Kubernetes с префиксом app.kubernetes.io можно найти в документации Kubernetes.