0Pricing
DevOps Bootcamp · Урок

Объекты 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 — локальная установка не требуется.

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

  1. Объект Values и вложенный доступ
  2. Метаданные выпуска через .Release
  3. Объекты Chart и Capabilities
  4. Files, Template и корневой контекст
← Назад к DevOps Bootcamp