Объекты Chart и Capabilities
Метаданные чарта и проверка версии API кластера
«Объекты Chart и Capabilities» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.
Ещё два встроенных объекта
Помимо .Values и .Release, Helm предоставляет .Chart для метаданных чарта и .Capabilities для сведений о целевом кластере.
Объект Chart повторяет Chart.yaml
.Chart — это содержимое Chart.yaml, доступное шаблонам. Во время рендеринга можно прочитать каждое указанное там поле. 📦
Имя и версия чарта
.Chart.Name и .Chart.Version задают идентичность чарта. Version — это собственная версия чарта в формате SemVer, которую увеличивают при каждой публикации.
chart: {{ .Chart.Name }}-{{ .Chart.Version }}AppVersion — это другое
.Chart.AppVersion — версия разворачиваемого приложения, а не чарта. Часто она используется для задания тега образа и меток по умолчанию.
app.kubernetes.io/version: {{ .Chart.AppVersion }}Имена полей пишутся с прописной буквы
В Chart.yaml используются ключи в нижнем регистре, но объект делает их прописными. Вы пишете .Chart.AppVersion, хотя в файле указано appVersion.
Объект Capabilities
.Capabilities описывает кластер, с которым взаимодействует Helm: его версию Kubernetes и доступные группы API.
Проверка версии Kubernetes
.Capabilities.KubeVersion сообщает версию кластера. Чарты используют её, чтобы адаптировать манифесты к более новым или старым версиям Kubernetes.
# {{ .Capabilities.KubeVersion.Version }}Проверка наличия версии API
.Capabilities.APIVersions.Has проверяет наличие API в кластере, позволяя безопасно выбрать нужный тип ресурса.
{{ if .Capabilities.APIVersions.Has "networking.k8s.io/v1" }}...{{ end }}Зачем нужны Capabilities для переносимости
Кластеры различаются версиями и установленными API. Проверка через .Capabilities позволяет одному чарту корректно работать в разных конфигурациях кластеров.
Capabilities и helm template
В автономном режиме helm template не может обратиться к реальному кластеру, поэтому использует версию по умолчанию. Передайте --kube-version, чтобы смоделировать конкретную целевую версию.
helm template ./mychart --kube-version 1.29Используйте Chart для меток, Capabilities — для логики
Полезное правило: обращайтесь к .Chart, когда добавляете идентификационные данные в метки, и проверяйте .Capabilities, когда решаете, какую структуру манифеста вывести.
Быстрая проверка
Вам нужно пометить ресурсы версией разворачиваемого приложения.
Итоги: Chart и Capabilities
Вы узнали, что .Chart предоставляет метаданные Chart.yaml, такие как Name, Version и AppVersion, а .Capabilities сообщает версию кластера и доступные API.
Часто задаваемые вопросы
Урок «Объекты Chart и Capabilities» бесплатный?
Да — полный текст урока «Объекты Chart и Capabilities» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Объекты Chart и Capabilities»?
Метаданные чарта и проверка версии API кластера Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Объекты Chart и Capabilities»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Объект Values и вложенный доступ
- Метаданные выпуска через .Release
- Объекты Chart и Capabilities
- Files, Template и корневой контекст