Создать кластер Managed Service for Trino
Кластер Trino создается в пространстве имен внутри проекта. Если у вас уже есть проект и пространство имен в нем, в этом пространстве имен вы можете создать кластер.
Через CLI
-
Убедитесь, что в проекте создано пространство имен. Если нет, создайте его.
-
Создайте файл ресурса
TrinoCluster. Например, с помощью командыtouch trinocluster.yaml. -
Откройте файл и вставьте конфигурацию ниже:
Минимальная конфигурацияКонфигурация с настройками и правилами доступаapiVersion: trino.stackland.yandex.cloud/v1alpha1 kind: TrinoCluster metadata: name: trino-min spec: version: "480" coordinator: resources: requests: cpu: 500m memory: 1Gi limits: cpu: "1" memory: 2Gi worker: replicas: 1 resources: requests: cpu: 500m memory: 1Gi limits: cpu: "1" memory: 2GiПример с настройками логирования (
spec.config) и правилами доступа к каталогам, схемам и таблицам (spec.accessControl). Подробнее о правилах доступа см. в разделе Управление доступом.apiVersion: trino.stackland.yandex.cloud/v1alpha1 kind: TrinoCluster metadata: name: trino-full spec: version: "480" deletionProtection: false coordinator: resources: requests: cpu: 500m memory: 1Gi limits: cpu: "1" memory: 2Gi worker: replicas: 3 resources: requests: cpu: 500m memory: 1Gi limits: cpu: "1" memory: 2Gi config: io.trino: INFO io.trino.plugin.iceberg: DEBUG accessControl: catalogs: - user: admin@stackland catalog: ".*" privileges: all schemas: - user: analyst@stackland catalog: ".*" schema: ".*" owner: false tables: - user: analyst@stackland catalog: ".*" schema: public table: ".*" privileges: - SELECT -
Примените манифест:
kubectl apply -f trinocluster.yaml -n <пространство_имен>. При необходимости можно прописать пространство имен в параметр ресурсаmetadata.namespaceи не использовать его в команде.
Через консоль управления
-
Если вы еще не открыли проект, выберите проект.
-
Выберите пространство имен, в котором нужно создать кластер.
-
В левом меню выберите Trino → Кластеры.
-
Нажмите Создать кластер.
-
Заполните поля:
Основные параметры
- Имя — название кластера. Записывается в
metadata.name. - Версия Trino — версия Trino. Список значений формируется из
TrinoImageCatalogоператора. - Защита от удаления — переключатель защиты от случайного удаления кластера. По умолчанию выключена.
Конфигурация координатора
- Запрошенный CPU — гарантированное количество CPU для пода координатора.
- Запрошенная память — гарантированный объем памяти для пода координатора.
- Лимит CPU — максимальное количество CPU для пода координатора.
- Лимит памяти — максимальный объем памяти для пода координатора.
Конфигурация воркеров
- Количество воркеров — число подов воркеров. Минимум
1. - Запрошенный CPU — гарантированное количество CPU для пода воркера.
- Запрошенная память — гарантированный объем памяти для пода воркера.
- Лимит CPU — максимальное количество CPU для пода воркера.
- Лимит памяти — максимальный объем памяти для пода воркера.
Дополнительные настройки (необязательно)
Раздел для добавления настроек Trino в формате «Ключ–Значение». Каждый ключ можно добавить только один раз.
Настройки доступа (необязательно)
Раздел для правил доступа к ресурсам Trino. Подсекции:
- Правила каталогов —
user,catalog,privileges(all,read-only,none). - Правила схем —
user,catalog,schema,owner. - Правила таблиц —
user,catalog,schema,table,privileges(SELECT,INSERT,DELETE,UPDATE,OWNERSHIP,GRANT_SELECT), а также фильтр строк и ограничения по столбцам. - Правила функций —
user,catalog,schema,function,privileges(EXECUTE,GRANT_EXECUTE,OWNERSHIP). - Правила процедур —
user,catalog,schema,procedure,privileges(EXECUTE,GRANT_EXECUTE). - Правила запросов —
user,queryOwner,privileges(execute,view,kill). Если заданqueryOwner, привилегияexecuteнедоступна.
В поле «Пользователь» значение можно ввести как регулярное выражение или выбрать из Identity and Access Management. Если поле сопоставления (например, «Каталог», «Схема» или «Таблица») оставлено пустым, Trino подставляет
.*. - Имя — название кластера. Записывается в
-
Нажмите Создать.
Готово, кластер появился в списке Кластеры. После создания статус кластера отображается в колонке Статус. Перейдите в карточку кластера, чтобы увидеть подробную информацию.
Подключение к кластеру
После того как кластер перешел в состояние Running, к нему можно подключиться по адресу координатора.
Получение адресов для подключения
Выполните команду:
kubectl get trinocluster <имя_кластера> -n <пространство_имен> -o jsonpath='{.status.fqdn}'
Структура ответа:
external— FQDN координатора для подключения через клиенты Trino (CLI, JDBC).webUI— FQDN Trino UI.
- Откройте проект.
- В левом меню выберите Trino → Кластеры.
- Выберите кластер.
- На вкладке Обзор найдите адреса для подключения. Чтобы посмотреть подробную информацию о подключении, нажмите Подключиться.
Trino CLI
-
Установите Trino CLI согласно официальной инструкции
. -
Подключитесь к кластеру по адресу координатора из
status.fqdn.external:trino --server https://<FQDN_координатора> --user <имя_пользователя>
JDBC
Используйте JDBC-драйвер Trino с URL вида:
jdbc:trino://<FQDN_координатора>:443
Значение <FQDN_координатора> получите из status.fqdn.external.