Управление группами хостов OpenSearch
В кластере Managed Service for OpenSearch вы можете управлять группами хостов:
- Получить список групп хостов в кластере.
- Создать группу хостов.
- Изменить конфигурацию группы хостов, в том числе добавить в нее новые хосты или удалить их.
- Удалить группу хостов.
Также вы можете получить список хостов в кластере.
О миграции групп хостов в кластере Managed Service for OpenSearch в другую зону доступности читайте в инструкции.
Получить список групп хостов в кластере
- В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for OpenSearch. - Нажмите на имя нужного кластера, затем выберите вкладку
Группы хостов.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы получить список групп хостов в кластере, запросите информацию о кластере OpenSearch:
yc managed-opensearch cluster get <имя_или_идентификатор_кластера>
Список групп хостов указан в параметрах config.opensearch.node_groups
и config.dashboards.node_groups
.
Имя и идентификатор кластера можно запросить со списком кластеров в каталоге.
Чтобы получить список групп хостов в кластере, воспользуйтесь методом REST API get для ресурса Cluster или вызовом gRPC API ClusterService/Get и передайте в запросе идентификатор требуемого кластера в параметре clusterId
.
Идентификатор кластера можно получить со списком кластеров в каталоге.
Создать группу хостов
При создании групп хостов действуют ограничения:
- В кластере Managed Service for OpenSearch может быть только одна группа хостов
Dashboards
. - Если вы добавляете группу хостов
OpenSearch
и назначаете хостам рольMANAGER
, минимальное количество хостов с такой ролью — три.
Чтобы создать группу хостов:
-
В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for OpenSearch. -
Нажмите на имя нужного кластера, затем выберите вкладку
Группы хостов. -
Нажмите кнопку Создать группу хостов.
-
Укажите параметры группы:
-
Тип группы:
OpenSearch
илиDashboards
. -
Имя. Оно должно быть уникальным в кластере.
-
Для группы хостов
OpenSearch
выберите роль хостов. -
Платформу, тип и класс хостов.
Класс хостов определяет технические характеристики виртуальных машин, на которых будут развернуты ноды OpenSearch. Все доступные варианты перечислены в разделе Классы хостов.
-
Тип диска и объем хранилища, который будет использоваться для данных.
От выбранного типа зависит, с каким шагом можно будет изменить размер диска:
- Сетевые HDD- и SSD-диски — с шагом 1 ГБ.
- Локальные SSD-диски:
- для платформы Intel Cascade Lake — с шагом 100 ГБ;
- для платформы Intel Ice Lake — с шагом 368 ГБ.
- Нереплицируемые SSD-диски — с шагом 93 ГБ.
-
(Опционально) В блоке Автоматическое увеличение размера хранилища настройте автоматическое увеличение размера диска:
-
В поле Увеличивать размер задайте соответствующие условия, чтобы:
- Размер хранилища увеличился в следующее окно обслуживания, когда хранилище окажется заполнено более чем на указанную долю (%).
- Размер хранилища увеличился незамедлительно, когда хранилище окажется заполнено более чем на указанную долю (%).
Можно задать оба условия, но порог для незамедлительного увеличения должен быть выше порога для увеличения в окно обслуживания.
-
В поле Максимальный размер хранилища укажите максимальный размер хранилища, который может быть установлен при автоматическом увеличении размера хранилища.
Если заданный порог достигнут, размер хранилища увеличивается по-разному в зависимости от типа диска:
-
Для сетевых HDD- и SSD-дисков — на большее из двух значений: 20 ГБ или 20% от текущего размера диска.
-
Для нереплицируемых SSD-дисков — на 93 ГБ.
-
Для локальных SSD-дисков:
- В кластере на платформе Intel Cascade Lake — на 100 ГБ.
- В кластере на платформе Intel Ice Lake — на 368 ГБ.
Если порог срабатывания достигнут повторно, размер хранилища будет автоматически увеличиваться, пока не достигнет заданного максимума. После этого вы можете задать новый максимальный размер хранилища вручную.
Важно
- Размер хранилища нельзя уменьшить.
- Во время изменения размера хранилища хосты кластера будут недоступны.
-
Если настроено увеличение хранилища в окно обслуживания, настройте расписание окна обслуживания.
-
-
Расположение хостов по зонам доступности и подсетям.
-
Количество создаваемых хостов.
-
Включите опцию Публичный доступ, если вы хотите, чтобы к хостам можно было подключаться через интернет.
-
-
Нажмите кнопку Создать группу хостов.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы создать группу хостов, выполните команду:
yc managed-opensearch node-group add --cluster-name <имя_кластера> \
--opensearch-node-group name=<имя_группы_хостов_OpenSearch>,`
`resource-preset-id=<класс_хостов>,`
`disk-size=<размер_диска_в_байтах>,`
`disk-type-id=<тип_диска>,`
`hosts-count=<количество_хостов_в_группе>,`
`zone-ids=<зоны_доступности>,`
`subnet-names=<имена_подсетей>,`
`assign-public-ip=<назначить_публичный_адрес:_true_или_false>,`
`roles=<роли_хостов> \
--dashboards-node-group name=<имя_группы_хостов_Dashboards>,`
`resource-preset-id=<класс_хостов>,`
`disk-size=<размер_диска_в_байтах>,`
`disk-type-id=<тип_диска>,`
`hosts-count=<количество_хостов_в_группе>,`
`zone-ids=<зоны_доступности>,`
`subnet-names=<имена_подсетей>,`
`assign-public-ip=<назначить_публичный_адрес:_true_или_false>
В команде укажите нужные параметры в зависимости от того, какую группу хостов вы хотите создать:
-
--opensearch-node-group
— конфигурация группы хостовOpenSearch
, где:-
resource-preset-id
— класс хостов. Он определяет технические характеристики виртуальных машин, на которых будут развернуты узлы OpenSearch. Все доступные варианты перечислены в разделе Классы хостов. -
disk-size
— размер диска в байтах. Минимальное и максимальное значения зависят от выбранного класса хостов. -
disk-type-id
— тип диска. -
roles
— роли хостов. Возможные значения:data
— предоставляется только рольDATA
;manager
— предоставляется только рольMANAGER
;data+manager
илиmanager+data
— предоставляются обе роли.
Совет
Не рекомендуется включать публичный доступ для хостов с ролью
MANAGER
— это небезопасно.
-
-
--dashboards-node-group
— конфигурация группы хостовDashboards
. Настраивается так же, как группа хостовOpenSearch
, за исключением ролей хостов. Для группыDashboards
роли настраивать не нужно.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Managed Service for OpenSearch см. в документации провайдера Terraform
. -
Чтобы создать группу хостов
OpenSearch
, добавьте блокnode_groups
в блокopensearch
:resource "yandex_mdb_opensearch_cluster" "<имя_кластера>" { ... config { opensearch { ... node_groups { name = "<имя_группы_виртуальных_хостов>" assign_public_ip = <публичный_доступ> hosts_count = <количество_хостов> zone_ids = ["<список_зон_доступности>"] subnet_ids = ["<список_идентификаторов подсетей>"] roles = ["<список_ролей>"] resources { resource_preset_id = "<класс_хоста>" disk_size = <размер_хранилища_в_байтах> disk_type_id = "<тип_диска>" } } } ... } }
Где:
assign_public_ip
— публичный доступ к хосту:true
илиfalse
.roles
— роли хостов:DATA
иMANAGER
.
-
Чтобы создать группу хостов
Dashboards
, добавьте блокdashboards
в блокconfig
:resource "yandex_mdb_opensearch_cluster" "<имя_кластера>" { ... config { ... dashboards { node_groups { name = "<имя_группы_виртуальных_хостов>" assign_public_ip = <публичный_доступ> hosts_count = <количество_хостов> zone_ids = ["<список_зон_доступности>"] subnet_ids = ["<список_идентификаторов подсетей>"] resources { resource_preset_id = "<класс_хоста>" disk_size = <размер_хранилища_в_байтах> disk_type_id = "<тип_диска>" } } } } }
Где
assign_public_ip
— публичный доступ к хосту:true
илиfalse
.В кластере может быть только одна группа хостов
Dashboards
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for OpenSearch:
- создание, в том числе путем восстановления из резервной копии, — 30 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts
, например:resource "yandex_mdb_opensearch_cluster" "<имя_кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } }
-
Чтобы создать группу хостов OpenSearch
, воспользуйтесь методом REST API addOpenSearchNodeGroup для ресурса Cluster или вызовом gRPC API ClusterService/AddOpenSearchNodeGroup.
Чтобы создать группу хостов Dashboards
, воспользуйтесь методом REST API addDashboardsNodeGroup для ресурса Cluster или вызовом gRPC API ClusterService/AddDashboardsNodeGroup.
Передайте в запросе конфигурацию группы в блоке nodeGroupSpec
:
-
Имя группы хостов в параметре
name
. -
Класс хостов в параметре
resources.resourcePresetId
. -
Тип диска в параметре
resources.diskTypeId
. -
Объем хранилища, который будет использоваться для данных, в параметре
resources.diskSize
. -
Количество хостов в группе в параметре
hostsCount
. -
Список зон доступности в параметре
zoneIds
. -
Список подсетей в параметре
subnetIds
. -
Настройки публичного доступа в параметре
assignPublicIp
. -
Список ролей хостов в параметре
roles
(только для группы хостов с типомOpenSearch
).
Изменить конфигурацию группы хостов
-
В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for OpenSearch. -
Нажмите на имя нужного кластера, затем выберите вкладку
Группы хостов. -
Нажмите на значок
в строке нужной группы и выберите пункт Изменить. -
Измените настройки группы хостов:
-
Роль хостов (только для группы хостов
OpenSearch
). -
Платформу, тип и класс хостов.
Класс хостов определяет технические характеристики виртуальных машин, на которых будут развернуты ноды OpenSearch. Все доступные варианты перечислены в разделе Классы хостов.
-
Размер диска.
Шаг, с которым можно изменить размер диска, зависит от типа диска:
-
Сетевые HDD- и SSD-диски — с шагом 1 ГБ.
-
Локальные SSD-диски:
- для платформы Intel Cascade Lake — с шагом 100 ГБ;
- для платформы Intel Ice Lake — с шагом 368 ГБ.
-
Нереплицируемые SSD-диски — с шагом 93 ГБ.
-
-
(Опционально) В блоке Автоматическое увеличение размера хранилища настройте автоматическое увеличение размера диска:
-
В поле Увеличивать размер задайте соответствующие условия, чтобы:
- Размер хранилища увеличился в следующее окно обслуживания, когда хранилище окажется заполнено более чем на указанную долю (%).
- Размер хранилища увеличился незамедлительно, когда хранилище окажется заполнено более чем на указанную долю (%).
Можно задать оба условия, но порог для незамедлительного увеличения должен быть выше порога для увеличения в окно обслуживания.
-
В поле Максимальный размер хранилища укажите максимальный размер хранилища, который может быть установлен при автоматическом увеличении размера хранилища.
Если заданный порог достигнут, размер хранилища увеличивается по-разному в зависимости от типа диска:
-
Для сетевых HDD- и SSD-дисков — на большее из двух значений: 20 ГБ или 20% от текущего размера диска.
-
Для нереплицируемых SSD-дисков — на 93 ГБ.
-
Для локальных SSD-дисков:
- В кластере на платформе Intel Cascade Lake — на 100 ГБ.
- В кластере на платформе Intel Ice Lake — на 368 ГБ.
Если порог срабатывания достигнут повторно, размер хранилища будет автоматически увеличиваться, пока не достигнет заданного максимума. После этого вы можете задать новый максимальный размер хранилища вручную.
Важно
- Размер хранилища нельзя уменьшить.
- Во время изменения размера хранилища хосты кластера будут недоступны.
-
Если настроено увеличение хранилища в окно обслуживания, настройте расписание окна обслуживания.
-
-
Расположение хостов по зонам доступности и подсетям.
-
Количество хостов.
-
Публичный доступ к хостам.
-
-
Нажмите кнопку Сохранить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы изменить конфигурацию группы хостов, выполните команду:
yc managed-opensearch node-group update --cluster-name <имя_кластера> \
--node-group-name <имя_группы_хостов> \
--resource-preset-id <класс_хостов> \
--disk-size <размер_диска_в_байтах> \
--hosts-count <количество_хостов_в_группе> \
--roles <роли_хостов>
В команде укажите нужные параметры в зависимости от того, какая конфигурация группы хостов нужна:
-
--node-group-name
— имя группы хостов, которую нужно изменить. -
--resource-preset-id
— новый класс хостов. Он определяет технические характеристики виртуальных машин, на которых будут развернуты узлы OpenSearch. Все доступные варианты перечислены в разделе Классы хостов. -
--disk-size
— новый размер диска в байтах. Минимальное и максимальное значения зависят от выбранного класса хостов. -
--hosts-count
— новое количество хостов в группе. -
--roles
— новые роли хостов. Возможные значения:data
— предоставляется только рольDATA
;manager
— предоставляется только рольMANAGER
;data+manager
илиmanager+data
— предоставляются обе роли.
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Managed Service for OpenSearch см. в документации провайдера Terraform
. -
Чтобы изменить конфигурацию группы хостов
OpenSearch
, измените параметры нужного блокаnode_groups
в блокеopensearch
:resource "yandex_mdb_opensearch_cluster" "<имя_кластера>" { ... opensearch { ... node_groups { name = "<имя_группы_виртуальных_хостов>" assign_public_ip = <публичный_доступ> hosts_count = <количество_хостов> roles = ["<список_ролей>"] resources { resource_preset_id = "<класс_хоста>" disk_size = <размер_хранилища_в_байтах> disk_type_id = "<тип_диска>" } } ... } }
Где:
assign_public_ip
— публичный доступ к хосту:true
илиfalse
.roles
— роли хостов:DATA
иMANAGER
.
-
Чтобы изменить конфигурацию группы хостов
Dashboards
, измените параметры блокаdashboards
:resource "yandex_mdb_opensearch_cluster" "<имя_кластера>" { ... dashboards { node_groups { name = "<имя_группы_виртуальных_хостов>" assign_public_ip = <публичный_доступ> hosts_count = <количество_хостов> resources { resource_preset_id = "<класс_хоста>" disk_size = <размер_хранилища_в_байтах> disk_type_id = "<тип_диска>" } } } }
Где
assign_public_ip
— публичный доступ к хосту:true
илиfalse
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for Elasticsearch:
- создание, в т. ч. путем восстановления из резервной копии, — 30 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts
, например:resource "yandex_mdb_elasticsearch_cluster" "<имя_кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } }
-
Чтобы изменить конфигурацию группы хостов OpenSearch
, воспользуйтесь методом REST API updateOpenSearchNodeGroup для ресурса Cluster или вызовом gRPC API ClusterService/UpdateOpenSearchNodeGroup.
Чтобы изменить конфигурацию группы хостов Dashboards
, воспользуйтесь методом REST API updateDashboardsNodeGroup для ресурса Cluster или вызовом gRPC API ClusterService/UpdateDashboardsNodeGroup.
Передайте в запросе новую конфигурацию в блоке nodeGroupSpec
:
- Класс хостов в параметре
resources.resourcePresetId
. - Тип диска в параметре
resources.diskTypeId
. - Объем хранилища, который используется для данных, в параметре
resources.diskSize
. - Количество хостов в группе в параметре
hostsCount
. - Список ролей хостов в параметре
roles
(только для группы хостов с типомOpenSearch
).
Важно
Метод API переопределит все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре updateMask
(одной строкой через запятую).
Удалить группу хостов
При удалении группы хостов действует ограничение: нельзя удалить единственную группу хостов с ролью DATA
.
- В консоли управления
перейдите на страницу каталога и выберите сервис Managed Service for OpenSearch. - Нажмите на имя нужного кластера, затем выберите вкладку
Группы хостов. - Нажмите на значок
в строке нужной группы и выберите пункт Удалить.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
Чтобы удалить группу хостов, выполните команду:
yc managed-opensearch node-group delete --cluster-name <имя_кластера> \
--node-group-name <имя_группы_хостов>
В команде укажите группу хостов, которую нужно удалить.
Чтобы удалить группу хостов из кластера:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
О том, как создать такой файл, см. в разделе Создание кластера.
Полный список доступных для изменения полей конфигурации кластера Managed Service for OpenSearch см. в документации провайдера Terraform
. -
Чтобы удалить группу хостов
OpenSearch
, удалите блокnode_groups
, который соответствует удаляемой группе хостов, из блокаopensearch
. -
Чтобы удалить группу хостов
Dashboards
, удалите блокdashboards
. -
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validate
Если в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите удаление ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform plan
Если конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply
-
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
Ограничения по времени
Провайдер Terraform ограничивает время на выполнение операций с кластером Managed Service for Elasticsearch:
- создание, в т. ч. путем восстановления из резервной копии, — 30 минут;
- изменение — 60 минут;
- удаление — 15 минут.
Операции, длящиеся дольше указанного времени, прерываются.
Как изменить эти ограничения?
Добавьте к описанию кластера блок
timeouts
, например:resource "yandex_mdb_elasticsearch_cluster" "<имя_кластера>" { ... timeouts { create = "1h30m" # Полтора часа update = "2h" # 2 часа delete = "30m" # 30 минут } }
-
Чтобы удалить группу хостов OpenSearch
, воспользуйтесь методом REST API deleteOpenSearchNodeGroup для ресурса Cluster или вызовом gRPC API ClusterService/DeleteOpenSearchNodeGroup.
Чтобы удалить группу хостов Dashboards
, воспользуйтесь методом REST API deleteDashboardsNodeGroup для ресурса Cluster или вызовом gRPC API ClusterService/DeleteDashboardsNodeGroup.
Передайте в запросе:
-
Идентификатор кластера в параметре
clusterID
.Идентификатор кластера можно получить со списком кластеров в каталоге.
-
Имя группы хостов, которую вы хотите удалить из кластера, в параметре
name
.
Получить список хостов в кластере
- Перейдите на страницу каталога
и выберите сервис Managed Service for OpenSearch. - Нажмите на имя нужного кластера, затем выберите вкладку
Хосты.
Чтобы получить список хостов в кластере, воспользуйтесь методом REST API listHosts для ресурса Cluster или вызовом gRPC API ClusterService/ListHosts и передайте в запросе идентификатор кластера в параметре clusterId
.
Чтобы узнать идентификатор кластера, получите список кластеров в каталоге.