TWC DBaaS Operator — это дополнение для Kubernetes, которое позволяет создавать и управлять облачными базами данных напрямую из кластера.
Поддерживаемые базы данных:
Установка
Для установки дополнения перейдите в раздел «Дополнения» в панели управления кластером и выберите «TWC DBaaS Operator».

В открывшемся окне нажмите кнопку «Установить» и дождитесь завершения установки.

После завершения установки, убедитесь, что все работает корректно. Для этого выполните команду:
В выводе должен быть под со статусом Running:
Оператор создает три ресурса CustomResourceDefinition (CRD):
instances.dbaas.timeweb.cloud— управление инстансами DBaaS.databases.dbaas.timeweb.cloud— управление базами данных внутри инстансов.users.dbaas.timeweb.cloud— управление пользователями баз данных.
Использование
Работу с DBaaS через оператор можно разделить на три шага:
- Создание инстанса базы данных.
- Создание базы данных внутри инстанса.
- Создание пользователей.
Создание инстанса
Сперва необходимо создать инстанс — это сама облачная база данных, с заданным типом, версией, конфигурацией и параметрами резервного копирования.
Пример манифеста:
Параметры в блоке config уникальны для каждого типа базы данных. Список доступных параметров можно найти в отдельных статьях:
Подходящий preset_id можно получить при помощи запроса к API:
Для удобства можно использовать команду с фильтрацией и форматированием:
ID пресета будет указан в первом столбце. При необходимости измените type=="mysql" на нужный тип базы данных.
Создание базы данных
После создания инстанса можно описать базы данных, которые будут в нем размещены.
Пример манифеста:
Поле dbaas_instance должно указывать на соответствующий инстанс.
Создание пользователя
После того как базы данных созданы, можно добавить пользователей и выдать им права доступа. Пользователь привязывается к конкретному инстансу и может иметь разные права для разных баз внутри него.
Пример манифеста:
Пароль для пользователя хранится в Kubernetes Secret в поле password, закодированном в base64. Создать его можно так:
echo -n 'пароль' | base64
В разделе permissions указываются права пользователя на конкретные базы данных. Права задаются в виде списка SQL-грантов для каждой базы. Список доступных привилегий можно найти в статьях: