Обзор
Развертывание YDB в Kubernetes — это простой и доступный способ установки YDB. С Kubernetes вы можете использовать универсальный подход к управлению приложением в любом облачном провайдере. Это руководство содержит инструкции для развертывания YDB в Yandex Managed Service for Kubernetes и AWS EKS.
YDB поставляется в виде Helm-чарта — пакета, который содержит шаблоны структур Kubernetes. Чарт может быть развернут в следующем окружении:
- Установлен менеджер пакетов Helm версии старше 3.1.0.
- Используется Kubernetes версии 1.20 и старше.
- Установлена утилита kubectl и настроен доступ к кластеру.
- Поддерживается динамическое предоставление томов в кластере (Dynamic Volume Provisioning).
Подробнее о Helm читайте в документации.
Helm-чарт устанавливает в кластер Kubernetes контроллер, который реализует необходимую логику для развертывания компонентов YDB. Контроллер построен по паттерну Оператор.
YDB состоит из двух компонентов:
- storage nodes — обеспечивают слой хранения данных;
- dynamic nodes — реализуют доступ к данным и их обработку.
Для развертывания каждого из компонентов достаточно создать соответствующий ресурс: Storage или Database с желаемыми параметрами. Со схемой ресурсов можно ознакомиться здесь.
После обработки чарта контроллером будут созданы следующие ресурсы:
- StatefulSet — контроллер рабочей нагрузки, который предоставляет предсказуемые сетевые имена и дисковые ресурсы для каждого контейнера.
- Service для доступа к созданным базам данных из приложений.
- ConfigMap для хранения конфигурации кластера.
Ознакомиться с исходным кодом контроллера можно здесь, Helm-чарт расположен в папке deploy
.
При разворачивании контейнеров YDB используются образы cr.yandex/yc/ydb
, на данный момент доступные только как предсобранные артефакты.