Минимальный шаблон развёртывания
Превратите статический манифест в шаблон чарта
«Минимальный шаблон развёртывания» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 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) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.
Чему я научусь в уроке «Минимальный шаблон развёртывания»?
Превратите статический манифест в шаблон чарта Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать DevOps Bootcamp?
Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Минимальный шаблон развёртывания»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке DevOps Bootcamp?
Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Минимальный шаблон развёртывания
- Параметризация образа контейнера
- Добавление шаблона Service
- Установка и доработка чарта