Telegram
+998 (71) 205-80-00

Оркестрация на serverplus: инфраструктура как код (Heat)

Опубликовано: 26.07.26
Поделиться

Оркестрация — это способ описать целую инфраструктуру текстом (в шаблоне) и развернуть её одной кнопкой. Вместо того чтобы вручную создавать сервер, потом сеть, диск, IP и правила по отдельности, вы описываете весь набор в одном файле — и облако само поднимает все ресурсы в правильном порядке.

Технически за разделом стоит OpenStack Heat — движок «инфраструктуры как кода» (IaC). Один такой развёрнутый комплект ресурсов называется стек.

Раздел разбит на три вкладки: Стеки, Типы ресурсов и Версии шаблонов.

Зачем это нужно

  • Воспроизводимость. Один и тот же шаблон разворачивает идентичную инфраструктуру сколько угодно раз — dev, staging, prod получаются одинаковыми.
  • Скорость. Комплект из десятков ресурсов поднимается за один запуск, а не кликами по каждому.
  • Порядок и связи. Heat сам понимает зависимости: сначала сеть и подсеть, потом сервер в этой сети, потом IP на сервер.
  • Управляемость. Всю группу ресурсов можно обновить или удалить целиком, как единое целое (стек).
  • Версионирование. Шаблон — это текст: его удобно хранить в git, ревьюить и откатывать.

Вкладка «Стеки»

Стек (stack) — это развёрнутый экземпляр шаблона: конкретный набор ресурсов, созданный из описания. Здесь вы создаёте стеки, следите за их статусом и удаляете. Пока стеков нет, вкладка пустая с кнопкой Создать стек.

Как создать стек

Нажмите Создать стек и заполните форму:

  • Расположение — регион (uz-tas1 / RegionOne).
  • Stack Name — имя стека, например web-prod.
  • Creation Timeout (minutes) — сколько ждать развёртывания до отмены (по умолчанию 60).
  • Rollback On Failure — если включить, при ошибке Heat откатит уже созданные ресурсы, не оставляя «полусобранный» стек.
  • Template Source — откуда взять шаблон: File (загрузить файл), Direct Input (вставить текст) или URL (по ссылке).
  • Environment Source (необязательно) — файл окружения с переопределением параметров, тем же способом: File / Direct Input / URL.

После заполнения нажмите + Создать стек — Heat начнёт разворачивать ресурсы.

Шаблон (HOT): из чего состоит

Шаблон Heat (формат HOT, обычно YAML) описывает, что и с какими параметрами создать. Основные секции:

  • heat_template_version — версия формата шаблона (см. вкладку «Версии шаблонов»).
  • description — описание, для чего шаблон.
  • parameters — входные параметры (например размер сервера, имя сети), которые задаются при запуске.
  • resources — сами ресурсы: серверы, сети, диски, IP и т.д.
  • outputs — что вернуть после развёртывания (например публичный IP сервера).

Минимальный пример — один сервер с параметром размера:

heat_template_version: 2021-04-16 description: Один облачный сервер parameters:  flavor:    type: string    default: s1-1 resources:  web_server:    type: OS::Nova::Server    properties:      name: web-1      flavor: { get_param: flavor }      image: Ubuntu 24.04 outputs:  server_name:    value: { get_attr: [web_server, name] }

Вкладка «Типы ресурсов»

Это каталог всех ресурсов, которые можно использовать в шаблоне. Каждый тип — «кирпичик» инфраструктуры. Поддерживаются две группы имён:

  • OS::… — «родные» ресурсы OpenStack: OS::Nova::Server (сервер), OS::Neutron::Net (сеть), OS::Neutron::Subnet (подсеть), OS::Cinder::Volume (диск), OS::Neutron::FloatingIP и другие.
  • AWS::… — совместимые с AWS CloudFormation типы (AWS::EC2::Instance, AWS::AutoScaling::AutoScalingGroup и т.д.), чтобы переносить привычные шаблоны.

По типу ресурса видно, какие свойства он принимает — это подсказка при написании шаблона.

Вкладка «Версии шаблонов»

Список поддерживаемых версий формата шаблонов. Строка heat_template_version в вашем шаблоне должна быть из этого списка. Типы:

  • hot — современный формат Heat (heat_template_version.2013-05-232021-04-16), с понятными псевдонимами по релизам OpenStack: newton, ocata, pike, queens, rocky, wallaby.
  • cfn — формат, совместимый с AWS CloudFormation (AWSTemplateFormatVersion.2010-09-09, HeatTemplateFormatVersion.2012-12-12).

Совет. Берите версию поновее (например 2021-04-16) — в ней доступно больше функций и ресурсов. Более старые версии нужны в основном для совместимости со старыми шаблонами.

Типовые сценарии

  • Готовая среда «под ключ». Шаблон, который поднимает сеть + сервер + диск + IP + правила — одним стеком для нового проекта или клиента.
  • Одинаковые окружения. Dev / staging / prod из одного шаблона с разными параметрами — без расхождений «настроили по-разному».
  • Автомасштабирование. Группа серверов (AutoScalingGroup), которая растёт и уменьшается по нагрузке.
  • Обновление инфраструктуры. Поменяли шаблон → обновили стек; Heat пересоздаёт только то, что изменилось.

Оркестрация, Kubernetes и ручное создание — в чём разница

  • Ручное создание в панели — удобно для одного-двух серверов, но не воспроизводимо и легко забыть шаг.
  • Оркестрация (Heat) управляет облачной инфраструктурой: серверами, сетями, дисками, IP как единым стеком.
  • Kubernetes управляет контейнерами внутри кластера. Это разные уровни: Heat может развернуть сам кластер/серверы, а Kubernetes — приложения в контейнерах на них.

Частые вопросы

Нужно ли уметь программировать, чтобы пользоваться оркестрацией?

Программировать — нет, но нужно освоить формат шаблона HOT (YAML) и знать нужные типы ресурсов. Это ближе к «описанию по образцу», чем к разработке. Начать проще всего с небольшого готового шаблона и дорабатывать его.

Что такое стек простыми словами?

Стек — это «пакет» ресурсов, созданный из одного шаблона и управляемый как целое. Удалили стек — удалились все входящие в него ресурсы; обновили — обновились согласованно.

Чем Template Source File / Direct Input / URL отличаются?

Это лишь способ передать один и тот же шаблон: File — загрузить файл с компьютера, Direct Input — вставить текст прямо в поле, URL — указать ссылку, откуда его скачать.

Зачем нужен Rollback On Failure?

Чтобы при ошибке в середине развёртывания не остался «мусор» из наполовину созданных ресурсов. С включённым откатом Heat удалит всё, что успел создать, и вернёт чистое состояние.

Что такое Environment (окружение)?

Отдельный файл, который переопределяет параметры и настройки шаблона под конкретный запуск — удобно, когда один шаблон используется для разных сред с разными значениями.

Рекомендуем
Подберём лучшее решение под ваш проект
Заполните данные и с вами свяжется менеджер для подтверждения
Номер тех. поддержки
+998 (71) 205-80-00
Email для связи
info@serverplus.uz
Часы работы
Как вам удобнее получить консультацию?
Что вас интересует? (необязательно)
Бесплатная консультация
Ответит инженер, а не оператор
Без спама и навязчивых продаж
Хотите сначала попробовать самостоятельно?Каждому новому пользователю начисляется 100 000 сум бонусов для тестирования VPS, Dedicated Server, S3-хранилища и Kubernetes.
Зарегистрироваться и получить бонус
Мы не передаем ваши данные третьим лицам
Подпишитесь на нашу рассылку

Будьте одними из первых, кто узнает новости из сферы хостингов