Создание группы узлов на серверах BareMetal
Примечание
Создавать, изменять и удалять группы узлов на серверах BareMetal можно только в консоли управления.
В кластере Managed Service for Kubernetes можно создать группу узлов на выделенных серверах BareMetal. Сервис арендует серверы, автоматически настроит их и подключит к кластеру. По умолчанию срок аренды серверов — один день.
Перед началом работы
Для создания группы узлов на серверах BareMetal нужен кластер Managed Service for Kubernetes версии 1.35 с публичным адресом мастера и включенным туннельным режимом Cilium (Cilium CNI). Можно использовать существующий кластер, если он соответствует этим требованиям. Туннельный режим можно включить только при создании кластера.
Если подходящего кластера нет, подготовьте инфраструктуру:
-
Создайте сервисный аккаунт и назначьте ему роли
k8s.tunnelClusters.agentиvpc.publicAdminна каталог, в котором будете создавать кластер. -
Создайте и настройте группы безопасности для кластера.
Важно
От настройки групп безопасности зависит работоспособность и доступность кластера, а также запущенных в нем сервисов и приложений.
-
- В поле Версия Kubernetes выберите версию
1.35. - В полях Сервисный аккаунт для ресурсов и Сервисный аккаунт для узлов выберите созданный сервисный аккаунт.
- В блоке Конфигурация мастера в поле Публичный адрес выберите
Автоматически, чтобы подключаться к мастеру через интернет. - В поле Группы безопасности укажите подготовленные группы безопасности.
- В блоке Сетевые настройки кластера включите опцию Сilium CNI, чтобы использовать туннельный режим.
- В поле Версия Kubernetes выберите версию
В разделе Управление кластером → Обзор в блоке Сетевые настройки посмотрите CIDR кластера и CIDR сервисов. Они понадобятся для настройки маршрутизации.
Создайте виртуальный маршрутизатор
Виртуальный маршрутизатор Cloud Router используется для связи приватной сети BareMetal с облачной сетью мастера Managed Service for Kubernetes.
Если у вас уже есть подходящий маршрутизатор, добавьте в него CIDR кластера и CIDR сервисов как анонсированные IP-префиксы облачной сети мастера и перейдите к созданию группы узлов.
Примечание
Для создания виртуального маршрутизатора необходима роль cloud-router.editor.
- В консоли управления
выберите каталог, в котором расположен кластер. - Перейдите
в сервис Cloud Router. - Нажмите кнопку Создать виртуальный маршрутизатор.
- Введите имя и описание виртуального маршрутизатора.
- (Опционально) Добавьте метки и включите Защита от удаления.
- В поле Сети выберите облачную сеть, в которой расположен мастер кластера.
- В блоке выбранной сети добавьте IP-префиксы: CIDR ее подсетей, CIDR кластера и CIDR сервисов.
- Нажмите Создать.
Создайте группу узлов
-
В консоли управления
выберите каталог. -
Перейдите
в сервис Managed Service for Kubernetes. -
Выберите кластер.
-
Перейдите на вкладку Управление кластером и выберите раздел Группы узлов.
-
Нажмите кнопку Создать группу узлов и выберите
BareMetal. -
На шаге Выбор конфигурации BareMetal:
- Укажите Количество узлов в группе. Значение используется, чтобы подобрать конфигурации с достаточным количеством доступных серверов, и не задает размер группы. Задать размер группы можно на следующем шаге.
- Выберите конфигурацию серверов с подходящими процессорами, объемом оперативной памяти, типом и размером дисков.
Доступность конфигураций зависит от пула серверов. Приватная подсеть объединяет серверы одного пула, поэтому на следующем шаге создайте или выберите подсеть из пула, в котором доступна выбранная конфигурация.
-
На шаге Настройка группы узлов:
-
Укажите имя группы узлов. При необходимости добавьте описание и метки.
-
Убедитесь, что в поле Версия Kubernetes указана версия 1.35.
-
(Опционально) Измените Количество узлов в группе.
-
В разделе Сетевые интерфейсы для первого интерфейса в поле Приватная подсеть нажмите Создать:
- Укажите имя приватной подсети. При необходимости добавьте описание и метки.
- Включите IP-адресация и маршрутизация.
- В поле Виртуальный сетевой сегмент (VRF) выберите существующий VRF или создайте новый.
- Заполните поля CIDR и Шлюз по умолчанию. Подсеть должна принадлежать диапазону
10.0.0.0/8,172.16.0.0/12или192.168.0.0/16. Диапазоны подсетей одного VRF не должны пересекаться друг с другом, подсетями облачной сети, CIDR кластера и CIDR сервисов. - Включите Назначение IP-адресов по DHCP. Проверьте автоматически заполненный диапазон IP-адресов и при необходимости измените его.
- Сохраните подсеть.
Можно выбрать существующую подсеть из пула, в котором доступна выбранная конфигурация. Подсеть должна входить в VRF, а в ее настройках должен быть включен DHCP.
-
Для второго интерфейса включите опцию Доступ в интернет. Публичные IP-адреса будут назначены автоматически.
Публичные IP-адреса обеспечивают подключение к узлам из интернета и доступ узлов к внешним ресурсам, например реестрам Docker-образов (Container Registry, Cloud Registry или Docker Hub
), а также бакетам Object Storage. -
Настройте Частота обновлений / Отключение и укажите Максимум недоступных узлов.
-
В поле Метки узла добавьте метку
node-type=baremetal. Она понадобится, чтобы запустить тестовый под на узлах этой группы. При необходимости добавьте другие метки и Taint-политики узла.
-
-
Нажмите кнопку Создать группу узлов.
Группа появится в списке групп узлов с типом BareMetal. Сервис арендует выбранное количество серверов и настроит их. Для подключения узлов к кластеру настройте приватное соединение между VRF подсети и облачной сетью мастера.
Создайте приватное соединение
Дождитесь готовности виртуального маршрутизатора и создайте приватное соединение Cloud Interconnect в сервисе BareMetal. Если VRF выбранной подсети уже соединен с облачной сетью мастера через подготовленный маршрутизатор, перейдите к проверке группы узлов.
-
В консоли управления
выберите каталог, в котором находится VRF подсети группы узлов. -
Перейдите
в сервис BareMetal. -
На панели слева выберите
VRF и выберите VRF подсети группы узлов. -
В блоке Приватное соединение с облачными сетями нажмите Настроить соединение.
-
В поле Способ настройки выберите
Выбрать из каталогаи в появившемся списке укажите подготовленныйRouting Instance.В форме отобразятся CIDR подсетей Virtual Private Cloud, которые будут анонсироваться в Cloud Interconnect. Убедитесь, что среди префиксов указаны CIDR кластера и CIDR сервисов.
Важно
Для настройки связности диапазоны адресов подсетей BareMetal не должны пересекаться с диапазонами подключенных облачных и локальных сетей, CIDR кластера и CIDR сервисов.
-
Нажмите Сохранить.
-
Дождитесь, когда в блоке Приватное соединение с облачными сетями статус соединения изменится с
CREATINGнаREADY. Если соединение перешло в статусERROR, обратитесь в техническую поддержку .
Проверьте группу узлов
-
Посмотрите состояние узлов с меткой, заданной при создании группы:
kubectl get nodes -l node-type=baremetalДождитесь, когда узлы перейдут в состояние
Ready.
Создайте под
-
Сохраните манифест пода в файл
busybox.yaml:apiVersion: v1 kind: Pod metadata: name: busybox spec: restartPolicy: OnFailure nodeSelector: node-type: baremetal containers: - name: busybox image: cr.yandex/mirror/busybox:latest command: ["sh", "-c", "echo 'Hello from BareMetal'; sleep 3600"]Поле
nodeSelectorограничивает размещение пода узлами с меткойnode-type=baremetal. Если вы задали группе taint-политики, добавьте в манифест соответствующие tolerations. -
Создайте под:
kubectl create -f busybox.yaml
Проверьте работу пода
-
Посмотрите информацию о поде:
kubectl get pod busybox -o wide kubectl describe pod busyboxДождитесь статуса
Running. В полеNODEдолжен быть указан один из узлов BareMetal, полученных на предыдущем шаге. В разделеEventsкомандыdescribeпроверьте, что образ загружен, а контейнер создан и запущен. -
Посмотрите логи пода:
kubectl logs busyboxРезультат:
Hello from BareMetal -
После проверки удалите тестовый под:
kubectl delete pod busybox
Что дальше
- Создайте рабочую нагрузку в кластере.
- Измените группу узлов, например увеличьте или уменьшите количество серверов.
- Удалите группу узлов, кластер и зарезервированный статический публичный IP-адрес кластера, если эти ресурсы больше не нужны. Перед удалением освободите адрес: он не должен использоваться кластером или другими ресурсами.