Создание кластера YTsaurus
Примечание
Сервис находится на стадии Preview.
Каждый кластер Managed Service for YTsaurus состоит из набора компонентов YTsaurus.
Компоненты, доступные для настройки:
- exec- и tablet-ноды;
- хранилища;
- HTTP- и RPC-прокси.
Служебные компоненты, недоступные для настройки:
- master-ноды;
- storage-ноды;
- system-ноды.
Роли для создания кластера
Для создания кластера Managed Service for YTsaurus вашему аккаунту в Yandex Cloud нужны роли:
- managed-ytsaurus.editor — чтобы создать кластер;
- vpc.user — чтобы работать с сетью кластера.
О назначении ролей читайте в документации Yandex Identity and Access Management.
Создать кластер
Примечание
Создание кластера YTsaurus занимает длительное время. В зависимости от выбранной конфигурации время создания может занимать от одного часа.
В Managed Service for YTsaurus можно создать Demo-кластер с минимальной рабочей конфигурацией для ознакомления с сервисом или Production-кластер с ручной настройкой конфигурации кластера.
Demo-кластер
-
В консоли управления
выберите каталог, в котором нужно создать кластер Managed Service for YTsaurus. -
Выберите сервис Managed Service for YTsaurus.
-
Нажмите кнопку Создать кластер.
-
Выберите Demo-кластер для создания кластера с минимальной рабочей конфигурацией.
-
В блоке Базовые параметры:
- Задайте имя кластера. Имя должно быть уникальным в рамках каталога.
- (Опционально) Введите описание кластера.
- (Опционально) Создайте метки:
- Нажмите кнопку Добавить метку.
- Введите метку в формате
ключ: значение. - Нажмите Enter.
-
В блоке Сетевые настройки выберите:
- Зону доступности для размещения кластера.
- Подсеть.
- (Опционально) Группу безопасности для сетевого трафика кластера.
Важно
Сетевые настройки нельзя изменить после создания кластера.
-
В блоке Конфигурация кластера ознакомьтесь с параметрами конфигурации кластера.
-
Нажмите кнопку Создать.
-
Дождитесь, когда кластер будет готов к работе: его статус на панели Managed Service for YTsaurus сменится на Running. Это может занять продолжительное время.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы создать кластер YTsaurus:
-
Опишите в конфигурационном файле создаваемые ресурсы:
-
Кластер YTsaurus — описание кластера.
-
Сеть — описание облачной сети, в которой будет расположен кластер. Если подходящая сеть у вас уже есть, описывать ее повторно не нужно.
-
Подсети — описание подсетей, к которым будут подключены хосты кластера. Если подходящие подсети у вас уже есть, описывать их повторно не нужно.
Пример структуры конфигурационного файла:
resource "yandex_ytsaurus_cluster" "<имя_кластера>" { description = "<описание_кластера>" name = "<имя_кластера>" zone_id = yandex_vpc_subnet.<имя_подсети>.zone subnet_id = yandex_vpc_subnet.<имя_подсети>.id security_group_ids = [<список_идентификаторов_групп_безопасности>] spec = { storage = { hdd = { size_gb = 2048 count = 3 } ssd = { size_gb = 465 type = "network-ssd-nonreplicated" count = 3 } } compute = [ { preset = "c8-m32" disks = [ { size_gb = 93 type = "network-ssd-nonreplicated" } ] scale_policy = { fixed = { size = 3 } } } ] tablet = { preset = "c8-m16" count = 3 } proxy = { http = { count = 2 } rpc = { count = 2 } } } } resource "yandex_vpc_network" "<имя_сети>" { name = "<имя_сети>" } resource "yandex_vpc_subnet" "<имя_подсети>" { name = "<имя_подсети>" zone = "<зона_доступности>" network_id = yandex_vpc_network.<имя_сети>.id v4_cidr_blocks = ["<диапазон>"] }Где:
-
description— описание кластера. -
name— имя кластера. -
zone_id— зона доступности. -
subnet_id— идентификатор подсети. -
security_group_ids— список идентификаторов групп безопасности.Важно
Сетевые настройки нельзя изменить после создания кластера.
-
spec— конфигурация компонентов кластера YTsaurus:-
storage— параметры хранилища:-
hdd— параметры HDD-дисков:size_gb— размер диска в ГБ.count— количество дисков.
-
ssd— параметры SSD-дисков:size_gb— размер диска в ГБ.type— тип диска.count— количество дисков.
Важно
Тип и размер диска для кластера YTsaurus нельзя изменить после создания.
-
-
compute— конфигурация exec-нод:-
preset— конфигурация вычислительных ресурсов. -
disks— параметры хранилища, которое будет использоваться для выполнения заданий.size_gb— размер диска в ГБ.type— тип диска.
-
scale_policy.fixed.size— количество exec-нод для фиксированной политики масштабирования.
-
-
tablet— конфигурация tablet-нод:preset— конфигурация вычислительных ресурсов.count— количество tablet-нод.
Для использования tablet-нод должны быть указаны параметры SSD-хранилища (
spec.storage.ssd).Важно
Количество tablet-нод нельзя изменить после создания кластера.
-
proxy— параметры прокси:http.count— количество HTTP-прокси.rpc.count— количество RPC-прокси.
-
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Создайте кластер YTsaurus.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
. -
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "folderId": "<идентификатор_каталога>", "name": "<имя_кластера>", "description": "<описание_кластера>", "zoneId": "<зона_доступности>", "subnetId": "<идентификатор_подсети>", "securityGroupIds": [ <список_идентификаторов_групп_безопасности> ], "spec": { "storage": { "hdd": { "sizeGb": "2048", "count": "3" }, "ssd": { "sizeGb": "465", "type": "network-ssd-nonreplicated", "count": "3" } }, "compute": [ { "preset": "c8-m32", "disks": [ { "type": "network-ssd-nonreplicated", "sizeGb": "93" } ], "scalePolicy": { "fixed": { "size": "3" } } } ], "tablet": { "preset": "c8-m16", "count": "3" }, "proxy": { "http": { "count": "2" }, "rpc": { "count": "2" } } } }Где:
-
folderId— идентификатор каталога. Его можно запросить со списком каталогов в облаке. -
name— имя кластера. -
description— описание кластера. -
zoneId— зона доступности. -
subnetId— идентификатор подсети. -
securityGroupIds— список идентификаторов групп безопасности.Важно
Сетевые настройки нельзя изменить после создания кластера.
-
spec— конфигурация компонентов кластера YTsaurus:-
storage— параметры хранилища:-
hdd— параметры HDD-дисков:sizeGb— размер диска в ГБ.count— количество дисков.
-
ssd— параметры SSD-дисков:sizeGb— размер диска в ГБ.type— тип диска.count— количество дисков.
Важно
Тип и размер диска для кластера YTsaurus нельзя изменить после создания.
-
-
compute— конфигурация exec-нод:-
preset— конфигурация вычислительных ресурсов. -
disks— параметры хранилища, которое будет использоваться для выполнения заданий.type— тип диска.sizeGb— размер диска в ГБ.
-
scalePolicy.fixed.size— количество exec-нод для фиксированной политики масштабирования.
-
-
tablet— конфигурация tablet-нод:preset— конфигурация вычислительных ресурсов.count— количество tablet-нод.
Для использования tablet-нод должны быть указаны параметры SSD-хранилища (
spec.storage.ssd).Важно
Количество tablet-нод нельзя изменить после создания кластера.
-
proxy— параметры прокси:http.count— количество HTTP-прокси.rpc.count— количество RPC-прокси.
-
-
-
Воспользуйтесь методом Cluster.Create и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://ytsaurus.api.cloud.yandex.net/ytsaurus/v1/clusters' --data '@body.json' -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "folder_id": "<идентификатор_каталога>", "name": "<имя_кластера>", "description": "<описание_кластера>", "zone_id": "<зона_доступности>", "subnet_id": "<идентификатор_подсети>", "security_group_ids": [ <список_идентификаторов_групп_безопасности> ], "spec": { "storage": { "hdd": { "size_gb": "2048", "count": "3" }, "ssd": { "size_gb": "465", "type": "network-ssd-nonreplicated", "count": "3" } }, "compute": [ { "preset": "c8-m32", "disks": [ { "type": "network-ssd-nonreplicated", "size_gb": "93" } ], "scale_policy": { "fixed": { "size": "3" } } } ], "tablet": { "preset": "c8-m16", "count": "3" }, "proxy": { "http": { "count": "2" }, "rpc": { "count": "2" } } } }Где:
-
folder_id— идентификатор каталога. Его можно запросить со списком каталогов в облаке. -
name— имя кластера. -
description— описание кластера. -
zone_id— зона доступности. -
subnet_id— идентификатор подсети. -
security_group_ids— список идентификаторов групп безопасности.Важно
Сетевые настройки нельзя изменить после создания кластера.
-
spec— конфигурация компонентов кластера YTsaurus:-
storage— параметры хранилища:-
hdd— параметры HDD-дисков:size_gb— размер диска в ГБ.count— количество дисков.
-
ssd— параметры SSD-дисков:size_gb— размер диска в ГБ.type— тип диска.count— количество дисков.
Важно
Тип и размер диска для кластера YTsaurus нельзя изменить после создания.
-
-
compute— конфигурация exec-нод:-
preset— конфигурация вычислительных ресурсов. -
disks— параметры хранилища, которое будет использоваться для выполнения заданий.type— тип диска.size_gb— размер диска в ГБ.
-
scale_policy.fixed.size— количество exec-нод для фиксированной политики масштабирования.
-
-
tablet— конфигурация tablet-нод:preset— конфигурация вычислительных ресурсов.count— количество tablet-нод.
Для использования tablet-нод должны быть указаны параметры SSD-хранилища (
spec.storage.ssd).Важно
Количество tablet-нод нельзя изменить после создания кластера.
-
proxy— параметры прокси:http.count— количество HTTP-прокси.rpc.count— количество RPC-прокси.
-
-
-
Воспользуйтесь вызовом ClusterService.Create и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/ytsaurus/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ ytsaurus.api.cloud.yandex.net:443 \ yandex.cloud.ytsaurus.v1.ClusterService.Create \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Production-кластер
-
В консоли управления
выберите каталог, в котором нужно создать кластер Managed Service for YTsaurus. -
Выберите сервис Managed Service for YTsaurus.
-
Нажмите кнопку Создать кластер.
-
Выберите Production-кластер для создания кластера с ручной настройкой конфигурации.
-
В блоке Базовые параметры:
- Задайте имя кластера. Имя должно быть уникальным в рамках каталога.
- (Опционально) Введите описание кластера.
- (Опционально) Создайте метки:
- Нажмите кнопку Добавить метку.
- Введите метку в формате
ключ: значение. - Нажмите Enter.
-
В блоке Сетевые настройки выберите:
- Зону доступности для размещения кластера.
- Подсеть.
- (Опционально) Группу безопасности для сетевого трафика кластера.
Важно
Сетевые настройки нельзя изменить после создания кластера.
-
В блоке Хранилище нажмите кнопку Добавить и выберите тип, размер, количество дисков.
От выбранного типа зависит, с каким шагом можно будет изменить размер диска:
- Сетевые HDD- и SSD-диски — с шагом 1 ГБ.
- Нереплицируемые SSD-диски — с шагом 93 ГБ.
Хранилище с типом
HDDявляется обязательным и добавлено по умолчанию. При необходимости отредактируйте количество и размер дисков.Важно
Тип и размер диска для кластера YTsaurus нельзя изменить после создания.
-
В блоке Конфигурация exec-нод задайте:
- количество нод;
- конфигурацию вычислительных ресурсов;
- тип и размер хранилища, которое будет использоваться для выполнения заданий.
-
В блоке Конфигурация tablet-нод задайте:
- количество нод;
- конфигурацию вычислительных ресурсов.
Для использования tablet-нод необходимо добавить хранилище с типом
SSDилиНереплицируемый SSD.Важно
Количество tablet-нод нельзя изменить после создания кластера.
-
В блоках Конфигурация HTTP и Конфигурация RPC задайте количество прокси.
Важно
Количество proxy-нод нельзя изменить после создания кластера.
-
Нажмите кнопку Создать.
-
Дождитесь, когда кластер будет готов к работе: его статус на панели Managed Service for YTsaurus сменится на Running. Это может занять продолжительное время.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
Чтобы создать кластер YTsaurus:
-
Опишите в конфигурационном файле создаваемые ресурсы:
-
Кластер YTsaurus — описание кластера.
-
Сеть — описание облачной сети, в которой будет расположен кластер. Если подходящая сеть у вас уже есть, описывать ее повторно не нужно.
-
Подсети — описание подсетей, к которым будут подключены хосты кластера. Если подходящие подсети у вас уже есть, описывать их повторно не нужно.
Пример структуры конфигурационного файла:
resource "yandex_ytsaurus_cluster" "<имя_кластера>" { description = "<описание_кластера>" name = "<имя_кластера>" zone_id = yandex_vpc_subnet.<имя_подсети>.zone subnet_id = yandex_vpc_subnet.<имя_подсети>.id security_group_ids = [<список_идентификаторов_групп_безопасности>] labels = { <список_меток> } spec = { storage = { hdd = { size_gb = <размер_диска_в_ГБ> count = <количество_дисков> } ssd = { size_gb = <размер_диска_в_ГБ> type = "<тип_диска>" count = <количество_дисков> } } compute = [ { preset = "<конфигурация_вычислительных_ресурсов>" disks = [ { size_gb = <размер_диска_в_ГБ> type = "<тип_диска>" } ] scale_policy = { fixed = { size = <количество_exec-нод> } } name = "default" } ] tablet = { preset = "<конфигурация_вычислительных_ресурсов>" count = <количество_tablet-нод> } proxy = { http = { count = <количество_HTTP-прокси> } rpc = { count = <количество_RPC-прокси> } }, odin = { checks_ttl = "<частота_проверок>" } } } resource "yandex_vpc_network" "<имя_сети>" { name = "<имя_сети>" } resource "yandex_vpc_subnet" "<имя_подсети>" { name = "<имя_подсети>" zone = "<зона_доступности>" network_id = yandex_vpc_network.<имя_сети>.id v4_cidr_blocks = ["<диапазон>"] }Где:
-
description— описание кластера. -
name— имя кластера. -
zone_id— зона доступности. -
subnet_id— идентификатор подсети. -
security_group_ids— список идентификаторов групп безопасности.Важно
Сетевые настройки нельзя изменить после создания кластера.
-
labels— список меток. Метки задаются в формате<ключ> = "<значение>". -
spec— конфигурация компонентов кластера YTsaurus:-
storage— параметры хранилища:-
hdd— параметры HDD-дисков:size_gb— размер диска в ГБ.count— количество дисков.
-
ssd— параметры SSD-дисков:size_gb— размер диска в ГБ.type— тип диска:network-ssdилиnetwork-ssd-nonreplicated.count— количество дисков.
От выбранного типа зависит, с каким шагом можно задавать размер диска при создании кластера:
- Сетевые HDD- и SSD-диски — с шагом 1 ГБ.
- Нереплицируемые SSD-диски — с шагом 93 ГБ.
Наличие HDD-диска является обязательным.
Важно
Тип и размер диска для кластера YTsaurus нельзя изменить после создания.
-
-
compute— конфигурация exec-нод:-
preset— конфигурация вычислительных ресурсов. -
disks— параметры хранилища, которое будет использоваться для выполнения заданий.size_gb— размер диска в ГБ.type— тип диска:network-hdd,network-ssdилиnetwork-ssd-nonreplicated.
От выбранного типа зависит, с каким шагом можно задавать размер диска при создании кластера:
- Сетевые HDD- и SSD-диски — с шагом 1 ГБ.
- Нереплицируемые SSD-диски — с шагом 93 ГБ.
-
scale_policy.fixed.size— количество exec-нод для фиксированной политики масштабирования. -
name— имя exec-пула.
-
-
tablet— конфигурация tablet-нод:preset— конфигурация вычислительных ресурсов.count— количество tablet-нод.
Для использования tablet-нод должны быть указаны параметры SSD-хранилища (
spec.storage.ssd).Важно
Количество tablet-нод нельзя изменить после создания кластера.
-
proxy— параметры прокси:http.count— количество HTTP-прокси.rpc.count— количество RPC-прокси.
-
odin.checks_ttl— частота проверок внутреннего мониторинга Odin. Указывается с единицами измерения:h— часы,m— минуты,s— секунды. Например:336h0m0s(2 недели).
-
Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.
-
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Создайте кластер Managed Service for YTsaurus.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
После этого в указанном каталоге будут созданы все требуемые ресурсы. Проверить появление ресурсов и их настройки можно в консоли управления
. -
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "folderId": "<идентификатор_каталога>", "name": "<имя_кластера>", "description": "<описание_кластера>", "labels": { <список_меток> }, "zoneId": "<зона_доступности>", "subnetId": "<идентификатор_подсети>", "securityGroupIds": [ <список_идентификаторов_групп_безопасности> ], "spec": { "storage": { "hdd": { "sizeGb": "<размер_диска_в_ГБ>", "count": "<количество_дисков>" }, "ssd": { "sizeGb": "<размер_диска_в_ГБ>", "type": "<тип_диска>", "count": "<количество_дисков>" } }, "compute": [ { "preset": "<конфигурация_вычислительных_ресурсов>", "disks": [ { "type": "<тип_диска>", "sizeGb": "<размер_диска_в_ГБ>" } ], "scalePolicy": { "fixed": { "size": "<количество_exec-нод>" } }, "name": "default" } ], "tablet": { "preset": "<конфигурация_вычислительных_ресурсов>", "count": "<количество_tablet-нод>" }, "proxy": { "http": { "count": "<количество_HTTP-прокси>" }, "rpc": { "count": "<количество_RPC-прокси>" } }, "odin": { "checksTtl": "<частота_проверок_в_секундах>" } } }Где:
-
folderId— идентификатор каталога. Его можно запросить со списком каталогов в облаке. -
name— имя кластера. -
description— описание кластера. -
labels— список меток. Метки задаются в формате"<ключ>": "<значение>". -
zoneId— зона доступности. -
subnetId— идентификатор подсети. -
securityGroupIds— список идентификаторов групп безопасности.Важно
Сетевые настройки нельзя изменить после создания кластера.
-
spec— конфигурация компонентов кластера YTsaurus:-
storage— параметры хранилища:-
hdd— параметры HDD-дисков:sizeGb— размер диска в ГБ.count— количество дисков.
-
ssd— параметры SSD-дисков:sizeGb— размер диска в ГБ.type— тип диска:network-ssdилиnetwork-ssd-nonreplicated.count— количество дисков.
От выбранного типа зависит, с каким шагом можно задавать размер диска при создании кластера:
- Сетевые HDD- и SSD-диски — с шагом 1 ГБ.
- Нереплицируемые SSD-диски — с шагом 93 ГБ.
Наличие HDD-диска является обязательным.
Важно
Тип и размер диска для кластера YTsaurus нельзя изменить после создания.
-
-
compute— конфигурация exec-нод:-
preset— конфигурация вычислительных ресурсов. -
disks— параметры хранилища, которое будет использоваться для выполнения заданий.type— тип диска:network-hdd,network-ssdилиnetwork-ssd-nonreplicated.sizeGb— размер диска в ГБ.
От выбранного типа зависит, с каким шагом можно задавать размер диска при создании кластера:
- Сетевые HDD- и SSD-диски — с шагом 1 ГБ.
- Нереплицируемые SSD-диски — с шагом 93 ГБ.
-
scalePolicy.fixed.size— количество exec-нод для фиксированной политики масштабирования. -
name— имя exec-пула.
-
-
tablet— конфигурация tablet-нод:preset— конфигурация вычислительных ресурсов.count— количество tablet-нод.
Для использования tablet-нод должны быть указаны параметры SSD-хранилища (
spec.storage.ssd).Важно
Количество tablet-нод нельзя изменить после создания кластера.
-
proxy— параметры прокси:http.count— количество HTTP-прокси.rpc.count— количество RPC-прокси.
-
odin.checksTtl— частота проверок внутреннего мониторинга Odin. Указывается в секундах (s). Например:1209600s(2 недели).
-
-
-
Воспользуйтесь методом Cluster.Create и выполните запрос, например с помощью cURL
:curl \ --request POST \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://ytsaurus.api.cloud.yandex.net/ytsaurus/v1/clusters' \ --data '@body.json' -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
Клонируйте репозиторий cloudapi
:cd ~/ && git clone --depth=1 https://github.com/yandex-cloud/cloudapiДалее предполагается, что содержимое репозитория находится в директории
~/cloudapi/. -
Создайте файл
body.jsonи добавьте в него следующее содержимое:{ "folder_id": "<идентификатор_каталога>", "name": "<имя_кластера>", "description": "<описание_кластера>", "labels": { <список_меток> }, "zone_id": "<зона_доступности>", "subnet_id": "<идентификатор_подсети>", "security_group_ids": [ <список_идентификаторов_групп_безопасности> ], "spec": { "storage": { "hdd": { "size_gb": "<размер_диска_в_ГБ>", "count": "<количество_дисков>" }, "ssd": { "size_gb": "<размер_диска_в_ГБ>", "type": "<тип_диска>", "count": "<количество_дисков>" } }, "compute": [ { "preset": "<конфигурация_вычислительных_ресурсов>", "disks": [ { "type": "<тип_диска>", "size_gb": "<размер_диска_в_ГБ>" } ], "scale_policy": { "fixed": { "size": "<количество_exec-нод>" } }, "name": "default" } ], "tablet": { "preset": "<конфигурация_вычислительных_ресурсов>", "count": "<количество_tablet-нод>" }, "proxy": { "http": { "count": "<количество_HTTP-прокси>" }, "rpc": { "count": "<количество_RPC-прокси>" } }, "odin": { "checks_ttl": "<частота_проверок_в_секундах>" } } }Где:
-
folderId— идентификатор каталога. Его можно запросить со списком каталогов в облаке. -
name— имя кластера. -
description— описание кластера. -
labels— список меток. Метки задаются в формате"<ключ>": "<значение>". -
zone_id— зона доступности. -
subnet_id— идентификатор подсети. -
security_group_ids— список идентификаторов групп безопасности.Важно
Сетевые настройки нельзя изменить после создания кластера.
-
spec— конфигурация компонентов кластера YTsaurus:-
storage— параметры хранилища:-
hdd— параметры HDD-дисков:size_gb— размер диска в ГБ.count— количество дисков.
-
ssd— параметры SSD-дисков:size_gb— размер диска в ГБ.type— тип диска:network-ssdилиnetwork-ssd-nonreplicated.count— количество дисков.
От выбранного типа зависит, с каким шагом можно задавать размер диска при создании кластера:
- Сетевые HDD- и SSD-диски — с шагом 1 ГБ.
- Нереплицируемые SSD-диски — с шагом 93 ГБ.
Наличие HDD-диска является обязательным.
Важно
Тип и размер диска для кластера YTsaurus нельзя изменить после создания.
-
-
compute— конфигурация exec-нод:-
preset— конфигурация вычислительных ресурсов. -
disks— параметры хранилища, которое будет использоваться для выполнения заданий.type— тип диска:network-hdd,network-ssdилиnetwork-ssd-nonreplicated.size_gb— размер диска в ГБ.
От выбранного типа зависит, с каким шагом можно задавать размер диска при создании кластера:
- Сетевые HDD- и SSD-диски — с шагом 1 ГБ.
- Нереплицируемые SSD-диски — с шагом 93 ГБ.
-
scale_policy.fixed.size— количество exec-нод для фиксированной политики масштабирования. -
name— имя exec-пула.
-
-
tablet— конфигурация tablet-нод:preset— конфигурация вычислительных ресурсов.count— количество tablet-нод.
Для использования tablet-нод должны быть указаны параметры SSD-хранилища (
spec.storage.ssd).Важно
Количество tablet-нод нельзя изменить после создания кластера.
-
proxy— параметры прокси:http.count— количество HTTP-прокси.rpc.count— количество RPC-прокси.
-
odin.checks_ttl— частота проверок внутреннего мониторинга Odin. Указывается в секундах (s). Например:1209600s(2 недели).
-
-
-
Воспользуйтесь вызовом ClusterService.Create и выполните запрос, например с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/ytsaurus/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ ytsaurus.api.cloud.yandex.net:443 \ yandex.cloud.ytsaurus.v1.ClusterService.Create \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.
Примеры
Создайте кластер Managed Service for YTsaurus и сеть для него с тестовыми характеристиками:
-
Имя —
my-ytsaurus-cluster. -
Сеть —
my-network. -
Подсеть —
my-subnet. Зона доступности подсети —ru-central1-a, диапазон —10.1.0.0/16. -
Хранилище:
4HDD-диска, размер —4096ГБ.3SSD-диска с типомnetwork-ssd, размер —512ГБ.
-
Exec-ноды:
- Количество нод —
5. - Конфигурация вычислительных ресурсов —
c8-m32. - Тип диска —
network-ssd, размер —512ГБ.
- Количество нод —
-
Tablet-ноды:
- Количество нод —
3. - Конфигурация вычислительных ресурсов —
c8-m16.
- Количество нод —
-
По
5HTTP-прокси и RPC-прокси.
Конфигурационный файл для такого кластера выглядит так:
resource "yandex_ytsaurus_cluster" "my-ytsaurus-cluster" {
name = "my-ytsaurus-cluster"
zone_id = yandex_vpc_subnet.my-subnet.zone
subnet_id = yandex_vpc_subnet.my-subnet.id
spec = {
storage = {
hdd = {
size_gb = 4096
count = 4
}
ssd = {
size_gb = 512
type = "network-ssd"
count = 3
}
}
compute = [
{
preset = "c8-m32"
disks = [
{
size_gb = 512
type = "network-ssd"
}
]
scale_policy = {
fixed = {
size = 5
}
}
}
]
tablet = {
preset = "c8-m16"
count = 3
}
proxy = {
http = {
count = 5
}
rpc = {
count = 5
}
}
}
}
resource "yandex_vpc_network" "my-network" { name = "my-network" }
resource "yandex_vpc_subnet" "my-subnet" {
name = "my-subnet"
zone = "ru-central1-a"
network_id = yandex_vpc_network.my-network.id
v4_cidr_blocks = ["10.1.0.0/16"]
}