Изменение кластера YTsaurus
Примечание
Сервис находится на стадии Preview.
После создания кластера вы можете изменить его основные и дополнительные настройки.
Чтобы изменить настройки кластера:
-
Перейдите на страницу каталога
и выберите сервис Managed Service for YTsaurus. -
Выберите кластер и нажмите кнопку Редактировать на панели сверху.
-
В блоке Базовые параметры:
- Измените имя и описание кластера.
- Удалите или добавьте новые метки.
-
В блоке Хранилище измените количество дисков.
-
В блоке Конфигурация exec-нод измените количество exec-нод.
-
Нажмите кнопку Сохранить изменения.
Чтобы изменить настройки кластера:
-
Откройте актуальный конфигурационный файл Terraform с планом инфраструктуры.
Как создать такой файл, см. в разделе Создание кластера.
-
Задайте настройки для кластера, для этого измените значение нужного поля в конфигурационном файле. В каждой отдельной операции по изменению ресурсов кластера допускается менять только один параметр.
Внимание
Не изменяйте имя кластера и идентификатор каталога с помощью Terraform. Это приведет к удалению существующего кластера и созданию нового.
Пример структуры конфигурационного файла:
resource "yandex_ytsaurus_cluster" "my_cluster" { description = "<описание_кластера>" name = "my-ytsaurus-cluster" folder_id = "b1gmioovukmd********" labels = { <список_меток> } ... spec = { ... storage = { hdd = { ... "count": "<количество_HDD-дисков>" }, ssd = { ... "count": "<количество_SSD-дисков>", } } compute = [{ ... scale_policy = { fixed = { size = <количество_exec-нод> } } }] ... odin = { checks_ttl = "<частота_проверок_мониторинга_Odin>" } } }Где:
-
description— описание кластера. -
labels— список меток. Метки задаются в формате<ключ> = "<значение>". -
spec— конфигурация компонентов кластера YTsaurus.-
storage— параметры хранилища:hdd.count— количество HDD-дисков. Изменить количество можно лишь в сторону увеличения, уменьшить количество дисков нельзя.ssd.count— количество SSD-дисков. Изменить количество можно лишь в сторону увеличения, уменьшить количество дисков нельзя.
-
compute— конфигурация exec-нод:scale_policy.fixed.size— количество exec-нод для фиксированной политики масштабирования. На текущий момент в сервисе YTsaurus поддерживается только эта политика.
-
odin.checks_ttl— частота проверок внутреннего мониторинга Odin. Указывается с единицами измерения:h— часы,m— минуты,s— секунды.
-
-
-
Проверьте корректность настроек.
-
В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.
-
Выполните команду:
terraform validateЕсли в файлах конфигурации есть ошибки, Terraform на них укажет.
-
-
Подтвердите изменение ресурсов.
-
Выполните команду для просмотра планируемых изменений:
terraform planЕсли конфигурации ресурсов описаны верно, в терминале отобразится список изменяемых ресурсов и их параметров. Это проверочный этап: ресурсы не будут изменены.
-
Если вас устраивают планируемые изменения, внесите их:
-
Выполните команду:
terraform apply -
Подтвердите изменение ресурсов.
-
Дождитесь завершения операции.
-
-
Подробнее см. в документации провайдера Terraform.
Чтобы изменить настройки кластера:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>" -
В каждой отдельной операции по изменению кластера допускается менять только один параметр. Создайте файл
body.jsonи добавьте в него нужный параметр из показанных в следующем примере. Пример содержит только изменяемые параметры, все доступные параметры описаны в документации API.{ "clusterId": "<идентификатор_кластера>", "updateMask": "<имя_изменяемого_параметра>", "name": "<имя_кластера>", "description": "<описание_кластера>", "labels": { <список_меток> }, "spec": { "storage": { "hdd": { "count": "<количество_HDD-дисков>" }, "ssd": { "count": "<количество_SSD-дисков>" } }, "compute": [ { "scalePolicy": { "fixed": { "size": "<количество_exec-нод>" } } } ], "odin": { "checksTtl": "<частота_проверок_мониторинга_Odin>" } } }Где:
-
clusterId— идентификатор кластера. Его можно запросить со списком кластеров в каталоге. -
updateMask— имя изменяемого параметра. -
name— имя кластера. -
description— описание кластера. -
labels— список меток. Метки задаются в формате"<ключ>": "<значение>". -
spec— конфигурация компонентов кластера YTsaurus.-
storage— параметры хранилища:hdd.count— количество HDD-дисков. Изменить количество можно лишь в сторону увеличения, уменьшить количество дисков нельзя.ssd.count— количество SSD-дисков. Изменить количество можно лишь в сторону увеличения, уменьшить количество дисков нельзя.
-
compute— конфигурация exec-нод.scalePolicy.fixed.size— количество exec-нод для фиксированной политики масштабирования. На текущий момент в сервисе YTsaurus поддерживается только эта политика.
-
odin.checksTtl— частота проверок внутреннего мониторинга Odin. Указывается с единицами измеренияs(секунды).
-
-
-
Воспользуйтесь методом Cluster.Update и выполните запрос, например с помощью cURL
:curl \ --request PATCH \ --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и добавьте в него нужный параметр из показанных в следующем примере. Пример содержит только изменяемые параметры, все доступные параметры описаны в документации API.{ "cluster_id": "<идентификатор_кластера>", "update_mask": "<имя_изменяемого_параметра>", "name": "<имя_кластера>", "description": "<описание_кластера>", "labels": { <список_меток> }, "spec": { "storage": { "hdd": { "count": "<количество_HDD-дисков>" }, "ssd": { "count": "<количество_SSD-дисков>" } }, "compute": [ { "scale_policy": { "fixed": { "size": "<количество_exec-нод>" } } } ], "odin": { "checks_ttl": "<частота_проверок_мониторинга_Odin>" } } }Где:
-
cluster_id— идентификатор кластера. Его можно запросить со списком кластеров в каталоге. -
update_mask— перечень изменяемых параметров в виде массива строкpaths[].В данном случае массив состоит только из одного элемента.
Формат перечисления настроек
"update_mask": { "paths": [ "<имя_изменяемого_параметра>" ] } -
name— имя кластера. -
description— описание кластера. -
labels— список меток. Метки задаются в формате"<ключ>": "<значение>". -
spec— конфигурация компонентов кластера YTsaurus.-
storage— параметры хранилища:hdd.count— количество HDD-дисков. Изменить количество можно лишь в сторону увеличения, уменьшить количество дисков нельзя.ssd.count— количество SSD-дисков. Изменить количество можно лишь в сторону увеличения, уменьшить количество дисков нельзя.
-
compute— конфигурация exec-нод.scale_policy.fixed.size— количество exec-нод для фиксированной политики масштабирования. На текущий момент в сервисе YTsaurus поддерживается только эта политика.
-
odin.checks_ttl— частота проверок внутреннего мониторинга Odin. Указывается с единицами измеренияs(секунды).
-
-
-
Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например с помощью 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.Update \ < body.json -
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.