[Документация Yandex Cloud](../../../index.md) > [Yandex Cloud Stackland](../../index.md) > [Сборник рецептов администратора Stackland](../index.md) > Проектирование и развертывание инсталляции Stackland > Архитектура Yandex Cloud Stackland и роли компонентов

# Архитектура Yandex Cloud Stackland и роли компонентов

В этом рецепте вы получите общее представление о Yandex Cloud Stackland: узнаете, из чего состоит продукт, какие задачи он помогает решать и в чем его ценность.

## Обзор Stackland {#overview}

**Stackland** — это платформа контейнеризации на базе Kubernetes с интегрированным набором базовых компонентов и PaaS-сервисов Yandex Cloud. При самостоятельной сборке Kubernetes-кластера вы выбираете ОС, устанавливаете и настраиваете каждый компонент отдельно, а Stackland — это готовое решение. Вы получаете целостную платформу со всеми необходимыми компонентами для централизованного управления микросервисными, аналитическими и ИИ-приложениями в on-premises.

### Из чего состоит Stackland {#components}

![Основные компоненты Stackland](../../_assets/cookbooks/installation/01-01-stackland-components-diagram.png)
Основные компоненты Stackland

В основе Stackland лежат Talos и Kubernetes.

* **Talos-based Linux** — операционная система, спроектированная специально для Kubernetes. Это минималистичная неизменяемая ОС на базе ядра Linux, которая не поддерживает интерактивный доступ по SSH и управляется исключительно через API. Она содержит только необходимые для работы компоненты и поставляется в составе дистрибутива Stackland.

    Подробнее о Talos Linux — на [официальном сайте](https://www.talos.dev/).

* **Kubernetes** — промышленный стандарт оркестрации контейнеров.

* **CNI (Container Network Interface)** — интерфейс для реализации наложенных сетей в кластере. В Stackland используется Cilium. Он обеспечивает высокую производительность и поддержку сетевых политик (Network Policy).

    Подробнее о Cilium — на [официальном сайте](https://www.cilium.io/).

#### Основные компоненты {#core-components}

Yandex Cloud Stackland включает набор готовых к использованию компонентов. Пользователь может изменить их настройки в специальном кастомном ресурсе.

Компоненты можно включать и отключать по мере необходимости. Также можно развертывать несколько инстансов одного и того же компонента, например для построения multi-stage-сред. Для управления компонентами служит сервис Component Manager.

* **Stackland IAM** (Identity and Access Management) — компонент управления идентификацией и доступом. Обеспечивает аутентификацию и авторизацию пользователей в кластере и проектах. Пользователям назначают роли, которые определяют их права доступа. Поддерживаются федерации SAML, LDAP и синхронизация с Active Directory.

* **Load Balancer** — это компонент для сервисов Kubernetes с типом `LoadBalancer`. Балансировщик в Stackland построен на базе Cilium и использует L2-анонсы (ARP) для обеспечения отказоустойчивости. В будущих версиях Stackland могут появиться иные реализации сетевых балансировщиков и механизмов обеспечения отказоустойчивости.

* **Logging Stack** отвечает за логирование в кластере. В компонент входит средство сбора логов Loki, средство поставки логов Fluent Bit и интерфейс для просмотра логов Grafana.

* **DNS.** В задачи этого компонента входит разрешение (резолвинг) всех имен, которые используются в кластере Stackland. В его основе лежит CoreDNS — стандарт де-факто в экосистеме Kubernetes. DNS-сервер этого компонента отвечает за зону, назначенную кластеру Stackland при развертывании.

    Подробнее о CoreDNS — на [официальном сайте](https://coredns.io).

* **Ingress** — обратный прокси, который выступает как L7-балансировщик над подами с бэкендом приложений в Kubernetes. Также терминирует входящие HTTPS-соединения. Stackland использует Ingress-контроллер Contour™.

    Подробнее о Contour™ — на [официальном сайте](https://projectcontour.io/).

* **Certificate Manager** — сервис управления сертификатами в кластере на основе cert-manager. Автоматизирует выпуск сертификатов и их размещение в секретах кластера.

    Подробнее о cert-manager — на [официальном сайте](https://cert-manager.io).

* **Policy Manager** объединяет инструменты, которые проверяют ресурсы Kubernetes на соответствие политикам и генерируют отчеты в формате OpenReports. Реализован на Kyverno.

    Подробнее об [OpenReports](https://openreports.io/docs/api/) и [Kyverno](https://kyverno.io/) — на официальных сайтах.

* **Secrets Store** управляет секретами в кластере. В задачи Secrets Store входит безопасное хранение, версионирование секретов и встраивание их в поды в момент старта. В Secrets Store можно хранить пароли, токены, приватные ключи и другие секреты. Secrets Store базируется на OpenBao, форке Vault.

    Подробнее об [OpenBao](https://openbao.org/) и [Vault](https://www.vaultproject.io/) — на официальных сайтах.

* **Volumes (Дисковая подсистема)** — компонент управления блочным хранилищем на основе [TopoLVM](https://github.com/topolvm/topolvm), драйвера CSI (Container Storage Interface) для Kubernetes. Использует LVM на узлах кластера для создания томов и управления ими. Компонент может динамически увеличивать размер томов и учитывает свободное место на дисках перед размещением подов.

    Репозиторий TopoLVM — на [GitHub](https://github.com/topolvm/topolvm).

* **Object Storage** — S3-совместимое объектное хранилище на базе Yandex Object Storage. Можно использовать с любыми инструментами и SDK, поддерживающими S3 API. Компонент позволяет управлять бакетами с помощью ресурса `Bucket`. Доступом управляют через Identity and Access Management.

* **Monitoring** — набор средств мониторинга, визуализации метрик и алертинга. Prometheus собирает метрики ресурсов кластера, запущенных приложений и инфраструктуры. Он использует язык запросов PromQL и предоставляет готовых агентов для популярных СУБД, веб-серверов, очередей сообщений и других сервисов. Alertmanager настраивает правила алертинга и обрабатывает алерты. Stackland предоставляет готовый набор дашбордов и алертов, но можно и настраивать собственные с помощью привычных инструментов.

* **«Поддержка NVIDIA® GPU»** — компонент поддержки графических ускорителей NVIDIA® в кластере. Обеспечивает обнаружение GPU на узлах, установку драйверов и интеграцию с Kubernetes через механизм Device Plugin.

#### Платформенные компоненты {#platform-components}

* **Managed Service for PostgreSQL** — открытая объектно-реляционная СУБД. Компонент упрощает развертывание и обновление кластера БД, обеспечивает отказоустойчивость, предоставляет средства резервного копирования и мониторинга. Компонент позволяет создавать сущности PostgreSQL — пользователей и базы данных — с помощью кастомных Kubernetes-ресурсов `PostgresqlRole` и `PostgresqlDatabase`.

    Подробнее — в статье [Managed Service for PostgreSQL](../../concepts/components/postgresql.md).

* **Managed Service for Apache Kafka®** — брокер сообщений. Компонент позволяет создавать сущности Apache Kafka® — кластер, топики и пользователей — с помощью кастомных Kubernetes-ресурсов `KafkaCluster`, `KafkaTopic` и `KafkaUserAccess`.

    Подробнее — в статье [Managed Service for Apache Kafka®](../../concepts/components/kafka.md).

* **Managed Service for ClickHouse®** — колоночная аналитическая СУБД. Компонент упрощает развертывание и управление кластерами ClickHouse®, обеспечивает мониторинг и масштабирование. Позволяет создавать сущности ClickHouse® — пользователей, роли и базы данных — с помощью кастомных Kubernetes-ресурсов `ClickhouseUser`, `ClickhouseRole` и `ClickhouseDatabase`.

    Подробнее — в статье [Managed Service for ClickHouse®](../../concepts/components/clickhouse.md).

* **Iceberg REST Catalog** — каталог метаданных для таблиц Apache Iceberg™ по протоколу Iceberg REST Catalog. Компонент позволяет создавать каталоги и пользователей с доступом по OAuth2 с помощью кастомных ресурсов `RestCatalog` и `RestCatalogPrincipal`.

    Подробнее — в статье [Iceberg REST Catalog](../../concepts/components/rest-catalog.md).

* **Managed Service for Trino** — распределенный SQL-движок для аналитических запросов к различным источникам данных. Компонент упрощает развертывание кластеров Trino, управление каталогами источников данных (PostgreSQL, ClickHouse®, Apache Iceberg™) и настройку правил доступа.

    Подробнее — в статье [Managed Service for Trino](../../concepts/components/trino.md).

* **YTsaurus** — распределенная платформа для хранения и обработки больших данных. Компонент разворачивает один общий кластер YTsaurus на платформу: MapReduce-движок, динамические таблицы, движок запросов YQL, веб-интерфейс и интеграцию с Identity and Access Management. Состав подкомпонентов и ресурсы задаются через кастомный ресурс `YTsaurusConfig`.

    Подробнее — в статье [YTsaurus](../../concepts/components/ytsaurus.md).

#### Модули {#modules}

* **DataLens** — платформа бизнес-аналитики и визуализации данных. Позволяет создавать интерактивные дашборды и графики на основе различных источников данных. Компонент не входит в базовую поставку и требует отдельной лицензии.

    Подробнее — в статье [DataLens](../../concepts/components/datalens.md).

* **SpeechSense** — модуль речевой аналитики. Позволяет анализировать записи разговоров и текстовые диалоги. Компонент не входит в базовую поставку и требует отдельной лицензии.

    Подробнее — в статье [SpeechSense](../../concepts/components/speechsense.md).

* **Model Gallery** — модуль для хостинга и инференса больших языковых моделей и моделей эмбеддингов. Включает реестр моделей, хранилище весов, очередь инференса и gRPC-сервер для генеративных моделей семейства YandexGPT. Обеспечивает единую точку доступа к foundation-моделям для других модулей платформы. Компонент не входит в базовую поставку и требует отдельной лицензии.

* **Agent Atelier** — модуль для создания и запуска AI-агентов и ассистентов. Позволяет собирать сценарии на базе workflows, подключать инструменты через MCP-gateway, готовить датасеты и выполнять файнтюнинг моделей. Использует Model Gallery как источник моделей и Identity and Access Management для управления доступом. Компонент не входит в базовую поставку и требует отдельной лицензии.

### Kubernetes vs Stackland {#kubernetes-vs-stackland}

В сравнительной таблице собрали отличия Stackland от Kubernetes.

#|
|| **Аспект** | **Kubernetes®** | **Stackland** ||
|| **Операционная система** | Любой Linux-дистрибутив — Ubuntu, CentOS, RHEL и другие. Администратор сам выбирает и настраивает ОС | Специализированная ОС Talos Linux, созданная для Kubernetes® ||
|| **Установка кластера** | kubeadm, kubespray, k3s или другие инструменты | Единый инсталлятор `sladm`. Установка одной командой ||
|| **Сетевой плагин (CNI)** | Администратор выбирает и настраивает самостоятельно: Calico, Flannel, Cilium и другие | Установлен Cilium ||
|| **DNS** | Установлен CoreDNS | Компонент **DNS**. Установлен CoreDNS ||
|| **Управление доступом** | Нативный RBAC Kubernetes® | Компонент **IAM**: обеспечивает централизованную аутентификацию и авторизацию во всех сервисах платформы (интегрирован с RBAC) и поддержку клиентских IdP ||
|| **Политики безопасности** | Базовый механизм Pod Security Standards | Компонент **Policy Manager** на базе Kyverno ||
|| **Управление секретами** | Нативные Secrets Kubernetes® | Компонент **Secrets Store** на базе OpenBao, форка Vault ||
|| **Балансировщик** | Не установлен — сервисы типа `LoadBalancer` не получают внешний IP-адрес | Компонент **Load Balancer** на базе Cilium-L2. Сервисы типа `LoadBalancer` получают IP-адрес из заданного диапазона ||
|| **Ingress-контроллер** | Не установлен — нет маршрутизации внешнего трафика | Компонент **Ingress**, установлен Contour™ ||
|| **Мониторинг** | Не установлен — нет сбора метрик, дашбордов, алертов | Компонент **Monitoring**, установлены Prometheus, Grafana, Alertmanager ||
|| **Логирование** | Не установлено — нет хранилища и инструмента работы с логами | Компонент **Logging Stack**: Loki и Fluent Bit, доступ к логам через Grafana ||
|| **Certificate Manager** | Не установлен — нет автоматического выпуска сертификатов | Компонент **Certificate Manager** на базе cert-manager ||
|| **Хранилище (StorageClass)** | Не установлен — PVC не инициализируются, поды с томами не запускаются | Компонент **Volumes (Дисковая подсистема)** на базе TopoLVM. Обеспечивает динамическое выделение блочного хранилища для рабочих нагрузок Kubernetes® ||
|| **Объектное хранилище (S3)** | Не установлено | Компонент **Object Storage** ||
|| **Базы данных** | Не установлены | Управляемые сервисы **PostgreSQL**, **ClickHouse®** и **Apache Kafka®** доступны из коробки ||
|| **Консоль управления** | Не установлена | Компонент **Stackland Console** — веб-интерфейс управления кластером ||
|| **GPU** | Не установлено | Компонент **«Поддержка NVIDIA® GPU»** ||
|| **Сертификация ФСТЭК** | Отсутствует | Платформа зарегистрирована в реестре российского ПО и в процессе сертификации по четвертому уровню ФСТЭК ||
|#

## Возможности Stackland {#features}

Расскажем, какие ключевые инженерные и бизнес-задачи можно решать с помощью Stackland и какие компоненты платформы для этого подходят.

* **Развертывание контейнеризированных приложений**
Стандартный Kubernetes API для запуска и оркестрации контейнеров.
Компоненты: Kubernetes, Contour, Cilium (CNI), Load Balancer, DNS.

* **Управление пользователями и доступом**
Централизованная аутентификация и авторизация с интеграцией в корпоративные системы.
Компонент: IAM.

* **Обеспечение безопасности приложений**
Контроль соответствия манифестов стандартам безопасности и автоматическое управление TLS-сертификатами.
Компоненты: Policy Manager, Certificate Manager.

* **Хранение и доставка секретов в приложения**
Безопасное хранение паролей, ключей и токенов без их попадания в образы или переменные окружения.
Компонент: Secrets Store.

* **Запуск и управление базами данных**
Готовые к использованию отказоустойчивые кластеры PostgreSQL, ClickHouse® и Apache Kafka®.
Компоненты: Managed Service for PostgreSQL, Managed Service for ClickHouse®, Managed Service for Apache Kafka®.

* **Хранение данных приложений**
Постоянные тома для подов и S3-совместимое хранилище для файлов и резервных копий.
Компоненты: Volumes, Object Storage.

* **Мониторинг, логирование и алертинг**
Сбор метрик со всех компонентов и приложений, централизованный сбор логов и настройка уведомлений о проблемах.
Компоненты: Monitoring (Prometheus, Grafana, Alertmanager), Logging Stack (Fluent Bit, Loki).

* **Визуализация и анализ данных**
Создание дашбордов и чартов на основе данных из различных источников.
Компонент: Yandex DataLens.

* **Работа с генеративными моделями и AI-агентами**
Платформа для хостинга и инференса LLM, создания AI-агентов и ассистентов, тонкой настройки моделей и ресурсоемких вычислений с использованием GPU.
Компоненты: «Поддержка NVIDIA® GPU», Model Gallery, Agent Atelier.

* **Изоляция команд в одном кластере**
Несколько команд могут безопасно работать в одном кластере с разделением ресурсов.
Компоненты: IAM (проекты и роли), ограничение ресурсов команд с помощью квот.

## Итоги {#summary}

Вы познакомились с архитектурой и ключевыми возможностями Stackland. Теперь вы знаете:

* что такое Stackland: готовое решение на базе Kubernetes и Talos-based Linux, которое автоматизирует сборку и настройку инфраструктуры;

* из чего состоит платформа: Stackland включает все необходимые компоненты из коробки — базы данных, хранилища, инструменты мониторинга, логирования и безопасности;

* какие задачи решает: Stackland закрывает ключевые потребности бизнеса и команд разработки — запуск и оркестрацию приложений, управление доступом, безопасность, хранение и управление данными, мониторинг и логирование, работу с ИИ, изоляцию команд в одном кластере;

* как Stackland обеспечивает безопасность: высокий уровень защиты данных и регистрация в реестре российского ПО.