0Pricing
Helm Academy · Урок

Добавление шаблона Service

Откройте доступ к рабочей нагрузке через шаблонный Service

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

Зачем нужен сервис

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

Второй файл шаблона

Добавьте templates/service.yaml рядом с шаблоном развёртывания. Helm обрабатывает каждый файл в templates, поэтому оба файла будут установлены вместе.

Каркас сервиса

Сервис начинается, как любой manifest: apiVersion, kind: Service и metadata. Имя релиза связывает его с этой установкой.

apiVersion: v1
kind: Service
metadata:
  name: {{ .Release.Name }}

Селектор связывает сервис с подами

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

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

Выберите тип сервиса

Сделайте тип настраиваемым, чтобы пользователи могли выбрать ClusterIP, NodePort или LoadBalancer. ClusterIP — безопасный вариант по умолчанию внутри кластера.

type: {{ .Values.service.type }}

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

Задайте для service.type значение по умолчанию, чтобы обычная установка сразу работала. Храните настройки сервиса под одним ключом для порядка.

# values.yaml
service:
  type: ClusterIP
  port: 80

Настройте порт

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

ports:
  - port: {{ .Values.service.port }}

Укажите порт контейнера

targetPort — это порт, который прослушивает контейнер. nginx обслуживает запросы на порту 80, поэтому трафик сервиса перенаправляется туда.

ports:
  - port: {{ .Values.service.port }}
    targetPort: 80

Объявите порт контейнера

Для ясности укажите порт, который под открывает в развёртывании, с помощью containerPort. Это документирует назначение и помогает инструментам.

ports:
  - containerPort: 80

Полная спецификация сервиса

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

spec:
  type: {{ .Values.service.type }}
  selector:
    app: {{ .Release.Name }}
  ports:
    - port: {{ .Values.service.port }}
      targetPort: 80

Отрендерите оба шаблона

Выполните helm template и убедитесь, что Helm выводит два документа, разделённых строкой ---, — Ваше развёртывание и новый сервис.

helm template web .

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

Сервис не направляет трафик к Вашим подам. Какова наиболее вероятная причина?

Итоги: открываем приложение

Вы добавили шаблон сервиса: селектор совпадает с подами, тип и порт берутся из значений, а targetPort указывает на контейнер. 🚀

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

Урок «Добавление шаблона Service» бесплатный?

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

Чему я научусь в уроке «Добавление шаблона Service»?

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

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

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

Сколько времени занимает урок «Добавление шаблона Service»?

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

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

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

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

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