Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • Cloud Registry
    • SmartCaptcha
    • Cloud Desktop
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • Serverless Integrations
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
    • Yandex Query
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
    • Акции и free tier
  • Кейсы
  • Документация
  • Блог
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Cloud Stackland
  • Что нового
  • Установка
    • Все руководства
    • Установить Stackland на Yandex BareMetal
    • Установка Stackland на Yandex BareMetal через PXE
    • Установка Stackland на виртуальные машины в Yandex Cloud
    • Настройка внешнего доступа к поду в кластере
    • Проверка подписи собственных образов
    • Все инструкции
        • Создать кластер Trino
        • Изменить настройки кластера
        • Удалить кластер
        • Создать каталог
        • Изменить настройки каталога
        • Удалить каталог
    • Проекты
    • Ресурсная модель
    • Масштабирование кластера
    • Лицензирование
  • Управление доступом
  • Правила тарификации
  • Диагностика и устранение неполадок

В этой статье:

  • Через CLI
  • Через консоль управления
  • Подключение к кластеру
  • Получение адресов для подключения
  • Trino CLI
  • JDBC
  1. Пошаговые инструкции
  2. Базы данных и аналитика
  3. Managed Service for Trino
  4. Создать кластер Trino

Создать кластер Managed Service for Trino

Статья создана
Yandex Cloud
Обновлена 23 сентября 2026 г.
Открыть в Markdown
  • Через CLI
  • Через консоль управления
  • Подключение к кластеру
    • Получение адресов для подключения
    • Trino CLI
    • JDBC

Кластер Trino создается в пространстве имен внутри проекта. Если у вас уже есть проект и пространство имен в нем, в этом пространстве имен вы можете создать кластер.

Через CLIЧерез CLI

  1. Убедитесь, что в проекте создано пространство имен. Если нет, создайте его.

  2. Создайте файл ресурса TrinoCluster. Например, с помощью команды touch trinocluster.yaml.

  3. Откройте файл и вставьте конфигурацию ниже:

    Минимальная конфигурация
    Конфигурация с настройками и правилами доступа
    apiVersion: trino.stackland.yandex.cloud/v1alpha1
    kind: TrinoCluster
    metadata:
      name: trino-min
    spec:
      version: "483"
      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: "483"
      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
    
  4. Примените манифест: kubectl apply -f trinocluster.yaml -n <пространство_имен>. При необходимости можно прописать пространство имен в параметр ресурса metadata.namespace и не использовать его в команде.

Через консоль управленияЧерез консоль управления

  1. Если вы еще не открыли проект, выберите проект.

  2. Выберите пространство имен, в котором нужно создать кластер.

  3. В левом меню выберите Trino → Кластеры.

  4. Нажмите Создать кластер.

  5. Заполните поля:

    Основные параметры

    • Имя — название кластера. Записывается в 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. Для сервисного аккаунта укажите имя ресурса ServiceAccount в Kubernetes, а не идентификатор субъекта IAM. Если поле сопоставления (например, «Каталог», «Схема» или «Таблица») оставлено пустым, Trino подставляет .*.

  6. Нажмите Создать.

Готово, кластер появился в списке Кластеры. После создания статус кластера отображается в колонке Статус. Перейдите в карточку кластера, чтобы увидеть подробную информацию.

Подключение к кластеруПодключение к кластеру

После того как кластер перешел в состояние Running, к нему можно подключиться по адресу координатора.

Получение адресов для подключенияПолучение адресов для подключения

CLI
Консоль управления

Выполните команду:

kubectl get trinocluster <имя_кластера> -n <пространство_имен> -o jsonpath='{.status.fqdn}'

Структура ответа:

  • external — внешний адрес координатора для подключения через клиенты Trino (CLI, JDBC), полный URL вида https://....
  • webUI — адрес Trino UI, полный URL вида https://....
  1. Откройте проект.
  2. В левом меню выберите Trino → Кластеры.
  3. Выберите кластер.
  4. На вкладке Обзор найдите адреса для подключения. Чтобы посмотреть подробную информацию о подключении, нажмите Подключиться.

Trino CLITrino CLI

Для подключения по внешнему адресу используются TLS и вход в Identity and Access Management через браузер. Для Trino CLI подготовьте хранилище доверенных сертификатов — truststore. Ниже приведены команды для Linux и macOS.

Совет

Готовые команды для создания truststore и подключения доступны в консоли управления: откройте карточку кластера и нажмите Подключиться.

Вход пользователя IAMВход пользователя IAM

  1. Установите Trino CLI согласно официальной инструкции. Для создания truststore понадобится утилита keytool из JDK.

  2. Получите сертификат удостоверяющего центра (CA) и создайте truststore. Если truststore уже настроен для этого кластера, используйте его при подключении.

    Сохраните сертификат CA из ресурса Secret <имя_кластера>-trino-ingress-tls в пространстве имен кластера:

    mkdir -p ~/.trino
    kubectl get secret <имя_кластера>-trino-ingress-tls -n <пространство_имен> \
      -o jsonpath='{.data.ca\.crt}' | base64 -d > ~/.trino/stackland-ca.crt
    

    Если у вас нет доступа к Secret, получите сертификат CA у администратора Stackland и сохраните его в ~/.trino/stackland-ca.crt.

    Импортируйте сертификат в truststore:

    keytool -importcert -trustcacerts -noprompt \
      -alias stackland \
      -file ~/.trino/stackland-ca.crt \
      -keystore ~/.trino/truststore.jks \
      -storetype JKS \
      -storepass stackland
    

    В примере пароль truststore — stackland; при подключении укажите тот же пароль.

  3. Добавьте сертификат CA в доверенные сертификаты ОС для входа через браузер:

    Linux (Debian, Ubuntu)
    Linux (RHEL, Fedora)
    macOS
    sudo cp ~/.trino/stackland-ca.crt /usr/local/share/ca-certificates/stackland.crt
    sudo update-ca-certificates
    
    sudo cp ~/.trino/stackland-ca.crt /etc/pki/ca-trust/source/anchors/stackland.crt
    sudo update-ca-trust
    
    sudo security add-trusted-cert -d -r trustRoot \
      -k /Library/Keychains/System.keychain ~/.trino/stackland-ca.crt
    

    Если браузер использует собственное хранилище сертификатов, добавьте CA и в него. Перезапустите браузер.

  4. Подключитесь к кластеру. В --server укажите значение status.fqdn.external — полный URL координатора вида https://...:

    trino --server https://<FQDN_координатора> \
      --external-authentication \
      --truststore-path ~/.trino/truststore.jks \
      --truststore-password stackland
    

    Когда CLI предложит пройти аутентификацию, откройте указанную ссылку в браузере и войдите в Identity and Access Management. Значение current_user соответствует логину IAM, который вы использовали при аутентификации OAuth. Параметр --user необязателен. При необходимости передайте --user '<логин_IAM>' как подсказку для формы входа или для выполнения запросов от имени другого пользователя, если это разрешено правилами в spec.accessControl.

  5. Для проверки подключения выполните запрос в Trino CLI:

    SELECT current_user, version();
    

    В колонке current_user должен отображаться IAM-логин, под которым вы вошли.

Вход сервисного аккаунтаВход сервисного аккаунта

Для автоматизации и CI подключайтесь с IAM-токеном сервисного аккаунта (t1.*) вместо аутентификации OAuth через браузер.

  1. Создайте сервисный аккаунт в пространстве имен кластера:

    kubectl create serviceaccount <имя_сервисного_аккаунта> -n <пространство_имен>
    

    Дождитесь появления идентификатора сервисного аккаунта IAM в аннотации iam.stackland.yandex.cloud/service-account-id.

  2. Добавьте правила в spec.accessControl кластера. В поле user укажите имя ресурса ServiceAccount в Kubernetes, а не идентификатор субъекта IAM. Подробнее — в разделе Управление доступом.

  3. Получите IAM-токен сервисного аккаунта (формат t1.*) через IAM API.

  4. Подготовьте truststore (шаги 1–2 раздела Вход пользователя IAM). Добавлять CA в доверенные сертификаты ОС для браузерного входа не требуется.

  5. Подключитесь к кластеру. В --server укажите status.fqdn.external:

    trino --server https://<FQDN_координатора> \
      --access-token '<IAM-токен>' \
      --truststore-path ~/.trino/truststore.jks \
      --truststore-password stackland
    
  6. Проверьте подключение:

    SELECT current_user, version();
    

    В current_user должно отображаться имя ресурса ServiceAccount из spec.accessControl.

JDBCJDBC

Используйте JDBC-драйвер Trino с URL вида:

jdbc:trino://<FQDN_координатора>:443

Значение <FQDN_координатора> получите из status.fqdn.external (часть URL без схемы https://).

Была ли статья полезна?

Предыдущая
Удалить каталог
Следующая
Изменить настройки кластера
Создавайте контент и получайте гранты!Готовы написать своё руководство? Участвуйте в контент-программе и получайте гранты на работу с облачными сервисами!
Подробнее о программе
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»