Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
  • Marketplace
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Настройка внешнего доступа к поду в кластере
    • Все инструкции
    • Проекты
    • Ресурсная модель
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок

В этой статье:

  • Введение
  • Шаг 1. Создайте приватную подсеть
  • Шаг 2. Аренда серверов
  • Шаг 3. Настройка бастиона
  • 3.1 Настройка сетевых доступов
  • 3.2 Установка дополнительных сервисов
  • Шаг 4. Загрузка серверов с установочного ISO-образа
  • Шаг 5. Настройка DNS
  • Шаг 6. Подготовка конфигурационного файла и установка
  • Шаг 7. Проверка работы кластера и дальнейшие шаги
  1. Практические руководства
  2. Установить Stackland на Yandex BareMetal

Установка Stackland на Yandex BareMetal

Статья создана
Yandex Cloud
Обновлена 23 марта 2026 г.
  • Введение
  • Шаг 1. Создайте приватную подсеть
  • Шаг 2. Аренда серверов
  • Шаг 3. Настройка бастиона
    • 3.1 Настройка сетевых доступов
    • 3.2 Установка дополнительных сервисов
  • Шаг 4. Загрузка серверов с установочного ISO-образа
  • Шаг 5. Настройка DNS
  • Шаг 6. Подготовка конфигурационного файла и установка
  • Шаг 7. Проверка работы кластера и дальнейшие шаги

Yandex BareMetal — это сервис по аренде выделенных физических серверов, все ресурсы которых доступны для решения только ваших задач. Yandex Cloud Stackland поддерживает Yandex BareMetal как одно из окружений для развертывания.

В данном руководстве вы узнаете, как арендовать сервера Yandex BareMetal и подготовить их к развертыванию Stackland, как подготовить конфигурационный файл для установки Stackland на арендованные сервера. Прочитать, как развернуть кластер Yandex Cloud Stackland на уже подготовленной инфраструктуре, можно в Руководстве по установке.

Для настройки окружения в данном руководстве используется Консоль управления Yandex Cloud. Чтобы воспользоваться другим интерфейсом Yandex BareMetal, обратитесь к документации сервисa.

ВведениеВведение

Для развертывания Stackland потребуется минимум четыре сервера:

  • Один бастион (также называемый jump host), с которого производится развертывание и последующее взаимодействие с кластером Stackland.

  • Три сервера для будущего кластера Stackland, подключенные к одной приватной сети. Три сервера с ролью combined — это минимальная конфигурация Stackland.

Конфигурацию серверов лучше выбирать исходя из предполагаемых нагрузок для будущего кластера. Рекомендуемое количество ресурсов для кластера можно найти в Руководстве по установке.

Общая схема инсталляции приведена ниже:

Шаг 1. Создайте приватную подсетьШаг 1. Создайте приватную подсеть

Для успешного развертывания все сервера должны находиться в одной приватной сети. Чтобы автоматически назначать IP-адреса серверам кластера, в этой сети удобно использовать DHCP.

Создайте приватную подсеть с DHCP-сервером:

  1. Откройте форму создания приватной сети в сервисе Yandex BareMetal и активируйте переключатель IP-адресация и маршрутизация. Открыть форму можно по инструкции Создать приватную подсеть.

  2. В поле Виртуальный сетевой сегмент (VRF) нажмите кнопку Создать.

  3. В открывшемся окне Создание виртуального сетевого сегмента нажмите кнопку Создать VRF.

  4. Укажите CIDR для создаваемой подсети. Он может быть любым из диапазона RFC1918, также рекомендуется использовать маску /24. Например, в поле CIDR можно указать 192.168.22.0/24.

  5. Укажите первый адрес из выбранного CIDR (т.е. 192.168.22.1) в качестве шлюза по умолчанию.

  6. Активируйте опцию Назначение IP-адресов по DHCP.

  7. Укажите диапазон для IP-адресов, например 192.168.22.2 — 192.168.22.120. Диапазон должен быть достаточно широким, чтобы вместить все узлы будущего кластера Stackland и еще один хост.

Важно

IP-адреса, назначенные серверам по DHCP, могут изменяться. Описание работы DHCP см. в документации сервиса Yandex BareMetal.

Перед началом установки лучше проверить, что адреса, назначенные серверам по DHCP, актуальны и совпадают с адресами, указанными в DNS-конфигурации на Шаге 5.

Шаг 2. Аренда серверовШаг 2. Аренда серверов

  1. Арендуйте сервер для бастиона, как описано в документации.

    В настройках:

    • Можно выбрать минимальную готовую конфигурацию для сервера, если она подходит под ваши задачи.
    • В качестве операционной системы выберите Ubuntu 24.04.
    • В поле Приватная подсеть выберите созданную на первом шаге подсеть.
    • Выделите бастиону Публичный адрес / Из эфемерной подсети, чтобы предоставить ему доступ в Интернет.
    • Задайте пароль для пользователя root и добавьте свой SSH-ключ.

    После создания бастиона запишите Публичный IP-адрес и Приватный IP-адрес бастиона — они потребуются вам в дальнейшем.

    В качестве бастиона можно использовать виртуальную машину, запущенную в Yandex Cloud. Настроить сетевую связность между виртуальной машиной и серверами BareMetal можно с помощью инструкции в официальной документации.

    Важно

    Установление приватного соединения между кластером BareMetal и облачными сетями может занять до 24 часов.

  2. Арендуйте не менее трех серверов для будущего кластера Stackland.

    В настройках:

    • Выберите опцию Без операционной системы, поскольку Stackland поставляется со своей собственной ОС.
    • В поле Приватная подсеть выберите созданную на первом шаге подсеть.
    • Выберите опцию Без адреса для публичного адреса — все взаимодействия с кластером Stackland будет происходить через бастион.

Дождитесь, пока серверы будут арендованы. Далее, откройте поочередно вкладку Обзор каждого из серверов будущего кластера Stackland и запишите MAC-адрес, указанный в поле Приватная сеть / MAC-адрес:

baremetal-network

Эта информация потребуется на шаге 6.

Шаг 3. Настройка бастионаШаг 3. Настройка бастиона

Бастион решает три основных задачи:

  • Обеспечивает доступ к кластеру Stackland из внешних сетей, например, интернета или сети вашей организации;
  • Обеспечивает доступ узлов кластера Stackland в интернет;
  • Служит для размещения инфраструктурных сервисов, необходимых для функционирования Stackland, например, DNS и NTP. При развертывании в периметре компании эти сервисы предоставляются ее ИТ-инфраструктурой.

Перед началом настройки зайдите на бастион через SSH с помощью публичного IP-адреса, увеличенного на единицу.

3.1 Настройка сетевых доступов3.1 Настройка сетевых доступов

Для обеспечения внешнего доступа к кластеру Stackland рекомендуется установить VPN-сервер, например, OpenVPN или Wireguard. Чтобы подключиться к виртуальной сети, можно адаптировать и применить инструкцию из документации Yandex Cloud VPC.

После установки и настройки VPN-сервера следует настроить IPv4-маршрутизацию и NAT, поскольку бастион будет выполнять роль роутера для подключающихся по VPN-клиентов. Ряд VPN-серверов делает это автоматически. При необходимости настройте маршрутизацию на бастионе самостоятельно:

  1. Установите ufw: sudo apt install ufw.

  2. Включите IPv4-маршрутизацию: раскомментируйте строку net.ipv4.ip_forward=1 в /etc/sysctl.conf и примените изменения командой sudo sysctl -p.

  3. Отредактируйте /etc/default/ufw и измените DEFAULT_FORWARD_POLICY на ACCEPT.

  4. Создайте файл /etc/ufw/before.rules следующего содержания:

    *nat
    :POSTROUTING ACCEPT [0:0]
    -A POSTROUTING -s <CIDR подсети, из которой выделяются адреса клиентов VPN> -j MASQUERADE
    -A POSTROUTING -s <CIDR приватной подсети, созданной на этапе 1> -j MASQUERADE
    COMMIT
    

    Первое правило с -A POSTROUTING в этом файле обеспечивает NAT-трансляцию для VPN-клиентов, второе отвечает за NAT-трансляцию для узлов кластера, выходящих в Интернет (например, для загрузки контейнерных образов). Поскольку подключение происходит через NAT, узлы кластера не будут доступны из Интернета напрямую. Например, если VPN-сервер настроен так, что адреса клиентов выделяются из диапазона 10.8.0.0/24, правила выше будут иметь вид:

    *nat
    :POSTROUTING ACCEPT [0:0]
    -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
    -A POSTROUTING -s 192.168.22.0/24 -j MASQUERADE
    COMMIT
    
  5. Примените изменения с помощью команд:

    sudo ufw disable
    sudo ufw allow 22/tcp comment 'SSH'
    sudo ufw allow 1194/udp comment 'OpenVPN'
    sudo ufw allow from 192.168.22.0/24 to any port 53,123 proto udp
    sudo ufw enable
    
  6. Обеспечьте анонс маршрутов до приватной подсети, созданной на шаге 1, клиентам, подключающимся по VPN. Это необходимо, чтобы сервисы в кластере Stackland были доступны через VPN-подключение. За подробностями обращайтесь к документации выбранного VPN-сервера.

3.2 Установка дополнительных сервисов3.2 Установка дополнительных сервисов

Помимо VPN-сервера на бастионе нужно установить:

  • DNS-сервер. Рекомендуется BIND;
  • NTP-сервер, например Chrony;
  • Интерфейс командной строки Yandex Cloud;
  • Утилиту unzip для распаковки архива инсталлятора.

Чтобы закончить настройку бастиона:

  1. Установите BIND, Chrony и unzip из репозиториев Ubuntu стандартным способом:

    sudo apt install bind9 bind9utils dnsutils chrony unzip -y
    
  2. Настройте BIND в качестве системного кеширующего DNS-резолвера. Для этого отредактируйте файл /etc/bind/named.conf.options и добавьте в секцию forwarders {} IP-адреса публичных DNS-серверов, которые будут выполнять фактическое разрешение. Рекомендуем использовать сервера Yandex DNS: 77.88.8.8 и 77.88.8.1. Кроме того, привяжите BIND к приватному IP-адресу бастиона (в примере ниже — 192.168.22.1).

    ; /etc/bind/named.conf.options
    options {
        ...
        forwarders {
            77.88.8.8;
            77.88.8.1;
        };
        listen-on {
            192.168.22.1;
        };
        ...
    }
    
  3. Укажите приватный IP-адрес бастиона как вышестоящий DNS-резолвер (параметр DNS=) в конфигурационном файле /etc/systemd/resolved.conf и перезагрузите настройки сервисов:

    sudo rndc reconfig
    sudo systemctl restart systemd-resolved
    

    Многие VPN-сервера предоставляют возможность менять настройки DNS на клиенте при подключении. Уточните, как это делается, в документации выбранного вами VPN-сервера, и выполните соответствующие настройки, чтобы иметь возможность обращаться к сервисам, развернутым в Stackland, извне кластера.

  4. Настройте Chrony так, чтобы он принимал NTP-запросы на нужном сетевом интерфейсе. Отредактируйте файл /etc/chrony/chrony.conf и добавьте следующие строки:

    allow 192.168.22.0/24
    bindaddress 192.168.22.1
    
  5. Замените 192.168.22.0/24 на CIDR вашей приватной подсети. Перезапустите Chrony:

    sudo systemctl restart chrony
    

Шаг 4. Загрузка серверов с установочного ISO-образаШаг 4. Загрузка серверов с установочного ISO-образа

  1. Перейдите в BareMetal / Загрузочные образы и создайте новый загрузочный образ BareMetal, указав https://storage.yandexcloud.net/stackland-public/stackland/$version/images/stackland-amd64-$version.iso в качестве Ссылки на образ в Object Storage. Вместо $version следует подставить актуальную версию Stackland. Этот процесс подробно описан в документации Yandex BareMetal.

Когда пользовательский ISO-образ будет создан, загрузите его поочередно на все сервера будущего кластера Stackland:

  1. Подключитесь к KVM-консоли каждого сервера.
  2. Откройте меню Media > Virtual Media Wizard.
  3. В разделе CD/DVD Media нажмите кнопку Browse.
  4. В директории user-iso выберите ранее созданный загрузочный образ.
  5. Нажмите Connect для подключения образа.
  6. В правом верхнем углу нажмите кнопку Reboot to cdrom для загрузки с образа.

В настоящее время эту операцию можно проделать только вручную через консоль управления, поочередно на каждом сервере.

Загрузка сервера занимает несколько минут. После загрузки в KVM-консоли появится дашборд, аналогичный приведенному на иллюстрации ниже:

baremetal-network

Если вы видите дашборд и на дашборде указан этап Maintenance, значит, загрузка установочного образа прошла успешно. Запишите IP-адрес, назначенный каждому узлу будущего кластера Stackland — он приведен в поле IP в правой колонке. Эта информация потребуется при подготовке конфигурационного файла.

Шаг 5. Настройка DNSШаг 5. Настройка DNS

При развертывании Stackland в периметре компании можно использовать существующую инфраструктуру DNS. Поскольку в BareMetal такой инфраструктуры нет, ее необходимо настроить. В частности, нужно делегировать будущему кластеру Stackland некоторую DNS-зону, например, stackland.internal.

  1. Создайте на бастионе файл родительской зоны (/etc/bind/db.internal) следующего содержания:

    ; /etc/bind/db.internal
    
    $TTL 1H
    @       IN      SOA     ns1.internal. admin.internal. (
                            2025091801      ; Serial
                                    3H      ; Refresh
                                   30M      ; Retry
                                    1W      ; Expire
                                    5M)     ; Negative Cache TTL
    ;
    @       IN      NS      ns1.internal.
    ;
    ns1.internal.           IN      A       192.168.22.1
    
    stackland.internal.     IN      NS      node1.baremetal.internal.
    stackland.internal.     IN      NS      node2.baremetal.internal.
    stackland.internal.     IN      NS      node3.baremetal.internal.
    

    Также создайте файл зоны для серверов — он будет использоваться при определении IP-адресов нод будущего кластера

    $TTL 15M
    @   IN  SOA  ns1.internal. admin.internal. (
                2025091801 3H 30M 1W 5M )
    @   IN  NS   ns1.internal.
    node1  IN  A  192.168.22.2
    node2  IN  A  192.168.22.3
    node3  IN  A  192.168.22.4
    

    В данном примере предполагается, что кластер будет развернут в зоне stackland.internal. Вместо 192.168.22.1 подставьте IP-адрес бастиона, вместо node1, node2 и node3 укажите имена, которые вы планируете назначить combined-нодам, а вместо 192.168.22.[2-4] подставьте их IP-адреса, записанные на предыдущем шаге.

  2. Отредактируйте /etc/bind/named.conf.local и добавьте только что созданную зону:

    ; /etc/bind/named.conf.local
    
    zone "internal" {
        type master;
        file "/etc/bind/db.internal";
        forwarders {};
    };
    
    zone "baremetal.internal" {
        type master;
        file "/etc/bind/db.baremetal.internal";
    };
    
  3. Перезагрузите зоны BIND командой:

    sudo rndc reload
    
  4. При отсутствии ошибок проверьте, что разрешение доменных имен работает ожидаемо:

    dig -x 192.168.22.1 -t a ns1.internal.  # 192.168.22.1
    host ns1.internal.  # 192.168.22.1
    

Более подробную информацию по делегированию зоны можно найти в Руководстве по установке.

Шаг 6. Подготовка конфигурационного файла и установкаШаг 6. Подготовка конфигурационного файла и установка

Конфигурационный файл для инсталлятора имеет формат, описанный в Руководстве по установке. При развертывании на BareMetal следует обратить особое внимание на секцию сетевых настроек, поскольку сервера BareMetal имеют несколько сетевых адаптеров.

Конфигурация состоит из трех частей:

  1. Конфигурация кластера (StacklandClusterConfig) — общие настройки кластера, включая платформу, подсети и балансировщик нагрузки.
  2. Конфигурация хостов (StacklandHostsList) — настройки отдельных серверов, включая роли и сетевые интерфейсы.
  3. Секреты (StacklandSecretsConfig) — секреты, например, лицензионный ключ или сертификат внутреннего CA.

Для кластера из трех нод, рассматриваемого выше в качестве примера, конфигурационный файл может иметь следующий вид:

# Конфигурация кластера
apiVersion: v1alpha1
kind: StacklandClusterConfig
metadata:
  name: main
spec:
  platform:
    type: "baremetal"                            # Платформа развертывания
    loadBalancer:
      type: "cilium-l2"                          # Тип балансировщика нагрузки
      ipPools:
        - cidrs:
          - 192.168.22.128/25                    # Диапазон адресов для балансировщиков

  cluster:
    baseDomain: "stackland.internal"             # Домен кластера

    networking:
      hostsNetwork:
        - cidr: 192.168.22.0/25                  # Подсеть хостов кластера
      clusterNetwork:
        - cidr: 172.16.0.0/16                    # Подсеть подов кластера
      servicesNetwork:
        - cidr: 10.96.0.0/12                     # Подсеть сервисов кластера
      virtualIPs:
        api: 192.168.22.127                      # Виртуальный IP для API кластера

    storage:
      defaultStorageClass: "stackland-ssd"       # Класс хранения по умолчанию, отредактируйте в соответствии с конфигурацией серверов

  genericHostConfig:
    disksConfig:
      - installDisk:
          name: "/dev/sda"                     # Диск для установки системы
    networkConfig:
      addresses:
        - interface: "eth0"                    # Интерфейс будет выбран в StacklandHostsList для каждого хоста в отдельности
          dhcp: true                           # Использовать DHCP для получения IP-адреса
      routes:
        - to: "0.0.0.0/0"                      # Маршрут по умолчанию
          via: "192.168.22.1"
          iface: "eth0"
      resolvers:
        - "192.168.22.1"                       # Приватный IP-адрес бастиона
      timeservers:
        - "192.168.22.1"                       # Приватный IP-адрес бастиона

---
# Конфигурация хостов
apiVersion: v1alpha1
kind: StacklandHostsList
metadata:
  name: main
spec:
  hosts:
    - hostname: "node1.baremetal.internal"       # FQDN первого хоста
      role: "combined"                           # Роль хоста: combined, control-plane или worker

      networkConfig:
        interfaces:
          - macaddress: "06:2A:B7:15:DE:F1"      # MAC-адрес, записанный на шаге 2
            name: "eth0"                         # Имя интерфейса

    - hostname: "node2.baremetal.internal"
      role: "combined"

      networkConfig:
        interfaces:
          - macaddress: "0E:9D:6B:FC:42:88"
            name: "eth0"

    - hostname: "node3.baremetal.internal"
      role: "combined"

      networkConfig:
        interfaces:
          - macaddress: "02:5E:C3:A8:07:D9"
            name: "eth0"

Примечание

В примере выше используется DHCP для автоматического назначения IP-адресов серверам. Убедитесь, что IP-адреса, назначенные по DHCP, совпадают с адресами, указанными в DNS-конфигурации на шаге 5.

Завершив редактирование, сохраните конфигурационные файлы в папке config/ и сгенерируйте StacklandSecretsConfig командой:

sladm secrets add --out config/secrets.yaml --license-key key.json

Дальнейший процесс установки не отличается от описанного в Руководстве по установке.

Шаг 7. Проверка работы кластера и дальнейшие шагиШаг 7. Проверка работы кластера и дальнейшие шаги

Убедитесь, что:

  • Разрешение DNS-имен кластера работает с бастионного хоста;

  • Вы можете установить VPN-соединение с бастионным хостом;

  • При установленном VPN-соединении вы можете разрешить DNS-имена кластера, и пинг до IP-адресов нод проходит успешно.

Полная процедура проверки работы кластера после установки описана в Руководстве по установке.

Если все перечисленные выше проверки проходят, кластер должен быть доступен с любой машины, установившей VPN-соединение с бастионом.

На этом процесс установки Stackland на Yandex BareMetal завершен. Описание дальнейших шагов по настройке кластера вы можете найти в соответствующих разделах документации.

Была ли статья полезна?

Предыдущая
Все руководства
Следующая
Настройка внешнего доступа к поду в кластере
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ООО «Яндекс.Облако»