Изменение кластера Trino
Примечание
Сервис находится на стадии Preview.
После создания кластера вы можете изменить его основные и дополнительные настройки.
Чтобы изменить настройки кластера:
-
Перейдите на страницу каталога
и выберите сервис Managed Service for Trino. -
Выберите кластер и нажмите кнопку Редактировать на панели сверху.
-
В блоке Базовые параметры:
-
Измените имя и описание кластера.
-
Удалите или добавьте новые метки.
-
Выберите сервисный аккаунт или создайте новый с ролями
managed-trino.integrationProvider
иstorage.editor
. Это даст кластеру нужные права для работы с пользовательскими ресурсами. Подробнее см. в разделе Имперсонация.Для изменения сервисного аккаунта в кластере Managed Service for Trino убедитесь, что вашему аккаунту в Yandex Cloud назначена роль iam.serviceAccounts.user или выше.
Важно
Если для доступа к объектам из Object Storage в кластере уже используется сервисный аккаунт, то его смена может привести к недоступности этих объектов и нарушению работы кластера. Перед изменением настроек сервисного аккаунта убедитесь, что кластер не использует соответствующие объекты.
-
-
В блоке Сетевые настройки выберите группу безопасности для кластера.
-
Измените конфигурацию координатора и воркеров.
-
В блоке Дополнительные настройки установите или снимите защиту от удаления кластера.
-
В блоке Дополнительные настройки включите или выключите запись логов. Если логирование включено, укажите, в какую лог-группу или каталог будут записываться логи и минимальный уровень логирования.
-
Нажмите кнопку Сохранить изменения.
Чтобы изменить настройки кластера:
-
Получите IAM-токен для аутентификации в API и поместите токен в переменную среды окружения:
export IAM_TOKEN="<IAM-токен>"
-
Создайте файл
body.json
и добавьте в него следующее содержимое:Примечание
В примере приведены не все доступные параметры. Список всех параметров см. в документации по API.
{ "updateMask": "<список_изменяемых_параметров>", "name": "<имя_кластера>", "description": "<описание_кластера>", "labels": { <список_меток> }, "trino": { "coordinatorConfig": { "resources": { "resourcePresetId": "<идентификатор_ресурсов>" } }, "workerConfig": { "resources": { "resourcePresetId": "<идентификатор_ресурсов>" }, "scalePolicy": { "autoScale": { "minCount": "<минимальное_количество_экземпляров>", "maxCount": "<максимальное_количество_экземпляров>" } } } }, "networkSpec": { "securityGroupIds": [ <список_идентификаторов_групп_безопасности> ] }, "deletionProtection": "<защита_от_удаления>", "serviceAccountId": "<идентификатор_сервисного_аккаунта>", "logging": { "enabled": "<использование_логирования>", "folderId": "<идентификатор_каталога>", "minLevel": "<уровень_логирования>" } }
Где:
-
updateMask
— перечень изменяемых параметров в одну строку через запятую.Важно
При изменении кластера будут переопределены все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
updateMask
. -
name
— имя кластера. -
description
— описание кластера. -
labels
— список меток. Метки задаются в формате"<ключ>": "<значение>"
. -
trino
— конфигурация компонентов кластера Trino.-
coordinatorConfig
— конфигурация координатора.-
resources.resourcePresetId
— идентификатор вычислительных ресурсов координатора. Возможные значения:c4-m16
— 4 vCPU, 16 ГБ RAM.c8-m32
— 8 vCPU, 32 ГБ RAM.
-
-
workerConfig
— конфигурация воркера.-
resources.resourcePresetId
— идентификатор вычислительных ресурсов воркера. Возможные значения:c4-m16
— 4 vCPU, 16 ГБ RAM.c8-m32
— 8 vCPU, 32 ГБ RAM.
-
scalePolicy
— политика масштабирования воркеров:-
fixedScale
— фиксированная политика масштабирования.count
— количество воркеров.
-
autoScale
— автоматическая политика масштабирования.minCount
— минимальное количество воркеров.maxCount
— максимальное количество воркеров.
Укажите один из двух параметров:
fixedScale
либоautoScale
. -
-
-
-
networkSpec
— сетевые настройки:securityGroupIds
— список идентификаторов групп безопасности.
-
deletionProtection
— позволяет включить защиту кластера от непреднамеренного удаления. Возможные значения:true
илиfalse
.Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.
-
serviceAccountId
— идентификатор сервисного аккаунта. -
logging
— параметры логирования:enabled
— позволяет включить логирование. Логи, сгенерированные компонентами Trino, будут отправляться в Yandex Cloud Logging. Возможные значения:true
илиfalse
.minLevel
— минимальный уровень логирования. Возможные значения:TRACE
,DEBUG
,INFO
,WARN
,ERROR
иFATAL
.folderId
— идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.logGroupId
— идентификатор пользовательской лог-группы. Логи будут записываться в нее.
Укажите один из двух параметров:
folderId
либоlogGroupId
.
-
-
Воспользуйтесь методом Cluster.update и выполните запрос, например, с помощью cURL
:curl \ --request PATCH \ --header "Authorization: Bearer $IAM_TOKEN" \ --url 'https://trino.api.cloud.yandex.net/managed-trino/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": { <список_меток> }, "trino": { "coordinator_config": { "resources": { "resource_preset_id": "<идентификатор_ресурсов>" } }, "worker_config": { "resources": { "resource_preset_id": "<идентификатор_ресурсов>" }, "scale_policy": { "auto_scale": { "min_count": "<минимальное_количество_экземпляров>", "max_count": "<максимальное_количество_экземпляров>" } } } }, "network_spec": { "security_group_ids": [ <список_идентификаторов_групп_безопасности> ] }, "deletion_protection": "<защита_от_удаления>", "service_account_id": "<идентификатор_сервисного_аккаунта>", "logging": { "enabled": "<использование_логирования>", "folder_id": "<идентификатор_каталога>", "min_level": "<уровень_логирования>" } }
Где:
-
cluster_id
— идентификатор кластера. Его можно запросить со списком кластеров в каталоге. -
update_mask
— перечень изменяемых параметров в виде массива строкpaths[]
.Формат перечисления настроек
"update_mask": { "paths": [ "<настройка_1>", "<настройка_2>", ... "<настройка_N>" ] }
Важно
При изменении кластера будут переопределены все параметры изменяемого объекта, которые не были явно переданы в запросе, на значения по умолчанию. Чтобы избежать этого, перечислите настройки, которые вы хотите изменить, в параметре
update_mask
. -
name
— имя кластера. -
description
— описание кластера. -
labels
— список меток. Метки задаются в формате"<ключ>": "<значение>"
. -
trino
— конфигурация компонентов кластера Trino.-
coordinator_config
— конфигурация координатора.-
resources.resource_preset_id
— идентификатор вычислительных ресурсов координатора. Возможные значения:c4-m16
— 4 vCPU, 16 ГБ RAM.c8-m32
— 8 vCPU, 32 ГБ RAM.
-
-
worker_config
— конфигурация воркера.-
resources.resource_preset_id
— идентификатор вычислительных ресурсов воркера. Возможные значения:c4-m16
— 4 vCPU, 16 ГБ RAM.c8-m32
— 8 vCPU, 32 ГБ RAM.
-
scale_policy
— политика масштабирования воркеров:-
fixed_scale
— фиксированная политика масштабирования.count
— количество воркеров.
-
auto_scale
— автоматическая политика масштабирования.min_count
— минимальное количество воркеров.max_count
— максимальное количество воркеров.
Укажите один из двух параметров:
fixed_scale
либоauto_scale
. -
-
-
-
network_spec
— сетевые настройки:security_group_ids
— список идентификаторов групп безопасности.
-
deletion_protection
— позволяет включить защиту кластера от непреднамеренного удаления. Возможные значения:true
илиfalse
.Включенная защита от удаления не помешает подключиться к кластеру вручную и удалить его.
-
service_account_id
— идентификатор сервисного аккаунта. -
logging
— параметры логирования:enabled
— позволяет включить логирование. Логи, сгенерированные компонентами Trino, будут отправляться в Yandex Cloud Logging. Возможные значения:true
илиfalse
.min_level
— минимальный уровень логирования. Возможные значения:TRACE
,DEBUG
,INFO
,WARN
,ERROR
иFATAL
.folder_id
— идентификатор каталога. Логи будут записываться в лог-группу по умолчанию для этого каталога.log_group_id
— идентификатор пользовательской лог-группы. Логи будут записываться в нее.
Укажите один из двух параметров:
folder_id
либоlog_group_id
.
-
-
Воспользуйтесь вызовом ClusterService/Update и выполните запрос, например, с помощью gRPCurl
:grpcurl \ -format json \ -import-path ~/cloudapi/ \ -import-path ~/cloudapi/third_party/googleapis/ \ -proto ~/cloudapi/yandex/cloud/trino/v1/cluster_service.proto \ -rpc-header "Authorization: Bearer $IAM_TOKEN" \ -d @ \ trino.api.cloud.yandex.net:443 \ yandex.cloud.trino.v1.ClusterService.Update \ < body.json
-
Убедитесь, что запрос был выполнен успешно, изучив ответ сервера.