0Pricing
Helm Academy · Урок

Минимальный шаблон развёртывания

Превратите статический манифест в шаблон чарта

«Минимальный шаблон развёртывания» — бесплатный урок Helm Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Helm Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Helm Academy содержит 4 уроков всего.

От статического манифеста к шаблону

Чарт — это всего лишь папка с шаблонами. Каждый шаблон представляет собой манифест Kubernetes с заполнителями, которые Helm подставляет во время установки.

Начните с обычного Deployment

Прежде чем добавлять магию, напишите уже знакомый вам манифест. Вот жёстко заданный Deployment, запускающий один модуль nginx.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: my-app

Поместите его в templates

Сохраните этот файл как templates/deployment.yaml внутри чарта. Всё содержимое templates обрабатывается и отправляется в кластер.

Имя релиза является динамическим

Жёстко заданное имя ненадёжно. Helm предоставляет имя релиза через .Release.Name, поэтому каждая установка получает уникальный идентификатор.

metadata:
  name: {{ .Release.Name }}

Получайте значения из values.yaml

Настройки, которые пользователи могут изменять, хранятся в values.yaml и читаются через .Values. Благодаря этому число реплик можно настраивать, а не фиксировать.

spec:
  replicas: {{ .Values.replicaCount }}

Задайте значение по умолчанию

Чтобы .Values.replicaCount вычислялся, задайте ему значение по умолчанию в values.yaml. Позже пользователи смогут переопределить его, не изменяя шаблоны.

# values.yaml
replicaCount: 1

Селекторы должны совпадать с метками

Селектор развёртывания должен в точности совпадать с метками шаблона пода, иначе Kubernetes отклонит его. Повторно используйте одну и ту же метку везде.

selector:
  matchLabels:
    app: {{ .Release.Name }}

Раздел шаблона пода

Внутри spec.template описывается сам под: его метки и контейнеры. Это рабочая нагрузка, которую Helm отправит в кластер.

template:
  metadata:
    labels:
      app: {{ .Release.Name }}
  spec:
    containers: []

Добавьте контейнер

Каждому контейнеру нужны имя и образ. Пока образ задан непосредственно в шаблоне; на следующем уроке Вы сделаете его настраиваемым.

containers:
  - name: app
    image: nginx:1.27

Выполните рендеринг, чтобы проверить результат

Выполните helm template ., чтобы увидеть итоговый YAML, который Helm создаёт локально, не обращаясь к кластеру. Прочитайте его перед установкой.

helm template my-release .

Весь минимальный шаблон

Вместе эти части образуют небольшой, но настоящий шаблон развёртывания: имя и метки задаются релизом, а число реплик — значениями.

spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      app: {{ .Release.Name }}

Быстрая проверка

Какой встроенный объект предоставляет уникальное имя установленного релиза?

Итоги: Ваш первый шаблон

Вы превратили статическое развёртывание в шаблон: .Release.Name задаёт идентификатор, а .Values — настройки. Выполните helm template, чтобы проверить результат. 🎉

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

Урок «Минимальный шаблон развёртывания» бесплатный?

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

Чему я научусь в уроке «Минимальный шаблон развёртывания»?

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

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

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

Сколько времени занимает урок «Минимальный шаблон развёртывания»?

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

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

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

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

  1. Минимальный шаблон развёртывания
  2. Параметризация образа контейнера
  3. Добавление шаблона Service
  4. Установка и доработка чарта
← Назад к Helm Academy