- tocdepth
2
Создать группу узлов
Для каждого кластера можно создать несколько групп узлов.
В личном кабинете перейдите в раздел Managed Kubernetes.
Найдите кластер, для которого нужно добавить группу узлов, и нажмите на его название.
Нажмите Создать группу узлов.
Введите название группы узлов.
Должно быть уникальным.
Может содержать буквы, цифры, подчеркивание и дефисы.
Допустимое количество символов — от 4 до 60.
Настройте конфигурацию узлов:
Зона доступности — выберите зону доступности, в которой будут размещены рабочие узлы.
Мастер-узлы и группы узлов можно размещать в разных зонах доступности, при условии, что они будут находиться в одной VPC.
Гарантированная доля vCPU — выберите 10%, 30% или 100%-ую гарантированную долю.
Гарантированная доля 10% предназначена простых приложений и тестирования, 30% — для стандартной рабочей нагрузки, 100% — для высоконагруженных сервисов. Подробнее см. Конфигурация рабочих узлов.
vCPU — количество виртуальных ядер процессора для каждого узла в группе.
RAM, ГБ — объем оперативной памяти в ГБ для каждого узла в группе.
В поле Объем хранилища, ГБ укажите размер хранилища для группы узлов в ГБ. Минимальный размер — 10 ГБ, максимальный — 64 ГБ.
В поле Адрес подсети узлов укажите подсеть, из которой для узлов будут назначаться IP-адреса.
Выбрать из списка — выберите подсеть из созданных в сервисе «Подсети».
Чтобы создать и настроить новую подсеть, нажмите Создать новую подсеть. Подробнее о настройках подсети читайте в инструкции Создать подсеть в облаке Evolution.
Ввести вручную — введите подсеть в формате <адрес сети>/<префикс маски>.
Подсеть должна принадлежать диапазонам 10.0.0.0/20–28, 172.16.0.0/20–28 или 192.168.0.0/20–28 и не может пересекаться с другими подсетями созданной инфраструктуры.
Будет создана новая подсеть с параметрами по умолчанию. Чтобы настроить подсеть, в личном кабинете перейдите в сервис «Подсети».
Размер подсети узлов должен быть в два раза меньше размера подсети сервисов.
В поле Количество узлов введите число узлов, которое необходимо создать.
Чтобы обеспечить надежную работу кластера, укажите не менее двух узлов.
Количество узлов в группе ограничивается заказанными вычислительными ресурсами. Если ресурсов не хватает, оставьте заявку в поддержку для увеличения квоты.
Максимальное количество узлов в группе, которое вы можете создать, зависит также от выбранной маски подсети для адреса сети узлов и рассчитывается по формуле:
\[N = 2^{32 - <префикс\ маски>} - 7\]Чтобы настроить изменение размера группы узлов в зависимости от нагрузки, включите опцию Автомасштабирование.
Укажите минимальное и максимальное количество узлов, в пределах которых будет изменяться размер группы узлов.
Об особенностях и ограничениях автомасштабирования читайте в разделе Автоматическое масштабирование группы узлов.
В поле Расширение размера группы, макс., % укажите процент рабочих узлов, на который можно временно превысить размер группы во время обновления.
В поле Уменьшение размера группы, макс., % укажите процент рабочих узлов, который может быть временно недоступен в группе узлов во время обновления.
(Опционально) Выберите группу безопасности.
Чтобы создать и настроить новую группу безопасности, нажмите Создать новую группу безопасности. О настройках читайте в инструкции Создать группу безопасности в облаке Evolution.
Нажмите Создать группу узлов.
Пройдите аутентификацию в API.
Выполните HTTP-запрос:
POST https://mk8s.api.cloud.ru/v2/clusters/{clusterId}/node-pools
Параметр
clusterId
— идентификатор кластера.В теле запроса передайте следующие параметры:
{ "clusterId": "xxxxxxxxxxxxxxxxxxxxxxxxxx", "displayName": "xxxxxx", "scalePolicy": { "fixedScale": { "count": 2 } }, "machineConfiguration": { "diskSize": 10, "flavorId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }, "networkConfiguration": { "nodesSubnetCidr": "xxx.xxx.xxx.xxx/xx" }, "remoteAccess": { "username": "<имя_пользователя>", "sshKeyId": "<идентификатор_публичного_ключа>" }, }
Где:
clusterId
— идентификатор кластера.
displayName
— название группы узлов.
Должно быть уникальным.
Может содержать буквы, цифры, подчеркивание и дефисы.
Допустимое количество символов — от 4 до 60.
scalePolicy.fixedScale.count
— количество узлов.Как настроить автомасштабирование для группы узлов, читайте в сценарии Настройка автомасштабирования группы узлов.
machineConfiguration.diskSize
— объем хранилища в ГБ. Целое число от 10 до 64.
machineConfiguration.flavorId
— идентификатор шаблона конфигурации узлов. Узнать список всех конфигураций.
networkConfiguration.nodesSubnetCidr
— подсеть в формате <адрес сети>/<префикс маски>, из которой для узлов будут назначаться IP-адреса.Подсеть должна принадлежать диапазонам 10.0.0.0/20–28, 172.16.0.0/20–28 или 192.168.0.0/20–28 и не может пересекаться с другими подсетями созданной инфраструктуры. Размер подсети узлов должен быть в два раза меньше размера подсети сервисов.
При создании группы узлов будет создана подсеть, указанная в
nodesSubnetCidr
, с параметрами по умолчанию. Настройки этой сети можно посмотреть в сервисе «Подсети».Вы можете использовать для группы узлов подсеть, созданную ранее. Для этого вместо
nodesSubnetCidr
укажитеnodesSubnetId
— идентификатор существующей сети узлов. Где посмотреть идентификатор, читайте в инструкции Посмотреть параметры подсети.
remoteAccess.username
— произвольное имя пользователя.
Может содержать только латинские буквы в нижнем регистре, цифры, дефис и подчеркивание.
Может начинаться только с латинской буквы или подчеркивания.
Длина от 1 до 32 символов.
Запрещено использование имен
_
,root
иuser
.
remoteAccess.sshKeyId
— идентификатор публичного ключа из сервиса «SSH-ключи».Подробное описание параметров читайте в справочнике API.
Установите и настройте Terraform, если еще не устанавливали.
Создайте конфигурационный файл
cloudru-nodepool.tf
с параметрами:resource "cloud_k8s_nodepool" "<название_группы_узлов>" { cluster_id = "<идентификатор_кластера>" name = "<название_группы_узлов>" # Укажите fixed_scale или auto_scale в зависимости от выбранной политики scale_policy = { fixed_scale = { count = <количество_узлов> } auto_scale = { min_count = <минимальное_количество_узлов> max_count = <максимальное_количество_узлов> initial_count = <начальное_количество_узлов> } } hardware_compute = { disk_size = <размер_хранилища> flavor_id = "<идентификатор_шаблона_конфигураций>" } nodes_network_configuration = { nodes_subnet_cidr = "<cidr_группы_узлов>" } }
Где:
cluster_id
— идентификатор кластера, в котором будет создана группа узлов.
name
— название группы узлов.
Должно быть уникальным.
Может содержать буквы, цифры, подчеркивание и дефисы.
Допустимое количество символов — от 4 до 60.
scale_policy.fixed_scale.count
— количество узлов при фиксированной политике масштабирования.
scale_policy.auto_scale.initial_count
— количество узлов, с которого начинается изменение размера группы узлов при автомасштабировании.
scale_policy.auto_scale.min_count
— минимальное количество узлов, в пределах которых будет изменяться размер группы узлов при автомасштабировании.
scale_policy.auto_scale.max_count
— максимальное количество узлов, в пределах которых будет изменяться размер группы узлов при автомасштабировании.Количество узлов в группе ограничивается заказанными вычислительными ресурсами. Если ресурсов не хватает, оставьте заявку в поддержку для увеличения квоты.
Максимальное количество узлов в группе, которое вы можете создать, зависит также от выбранной маски подсети для адреса сети узлов и рассчитывается по формуле:
\[N = 2^{32 - <префикс\ маски>} - 7\]
hardware_compute.disk_size
— объем хранилища в ГБ. Целое число от 10 до 64. По умолчанию 10 ГБ.
hardware_compute.flavor_id
— идентификатор шаблона конфигурации узлов.
nodes_network_configuration.nodes_subnet_cidr
— подсеть в формате <адрес сети>/<префикс маски>, из которой для узлов будут назначаться IP-адреса.Подсеть должна принадлежать диапазонам 10.0.0.0/20–28, 172.16.0.0/20–28 или 192.168.0.0/20–28 и не может пересекаться с другими подсетями созданной инфраструктуры. Размер подсети узлов должен быть в два раза меньше размера подсети сервисов.
Больше примеров и подробное описание параметров см. в каталоге K8s Examples.
Проверьте конфигурацию — в командной строке перейдите в каталог с файлом
cloudru-nodepool.tf
и выполните команду:terraform validate
Если в конфигурации нет ошибок, появится сообщение:
Success! The configuration is valid.
Просмотрите планируемые изменения.
terraform plan
При успешном выполнении отобразится список ресурсов и их параметры.
Выполните команду:
terraform apply
Подтвердите создание ресурсов.
Проверьте создание группы узлов в личном кабинете.
Группа узлов будет создана в течение 2–3 минут.
для Dev & Test