Операторы Kubernetes для MariaDB
Операторы в основном инструктируют Kubernetes о том, как управлять определённой технологией. Kubernetes поставляется с некоторыми операторами по умолчанию, но можно создавать пользовательские операторы. Операторы, созданные сообществом, можно найти на OperatorHub.io.
Пользовательские операторы
Kubernetes предоставляет декларативный API. Для поддержки конкретной технологии (например, MariaDB) или реализации желаемого поведения (например, развертывания реплики) мы расширяем API Kubernetes. Это включает создание двух основных компонентов:
- Пользовательский ресурс.
- Пользовательский контроллер.
Пользовательский ресурс добавляет конечную точку API, поэтому ресурс можно управлять через API-сервер. Он включает функциональность для получения информации о ресурсе, например, список существующих серверов.
Пользовательский контроллер реализует проверки, которые должны выполняться по отношению к ресурсу, чтобы проверить, нужно ли исправлять его состояние с помощью API. В случае MariaDB разумными проверками были бы проверка того, что он принимает подключения, репликация работает, и сервер является (или не является) только для чтения.
Оператор MariaDB
mariadb-operator — это оператор Kubernetes, который позволяет запускать и управлять MariaDB в облачной среде. Он нацелен на декларативное управление MariaDB с помощью CRD Kubernetes вместо императивных команд.
Он доступен в Artifact Hub и Operator Hub и поддерживает следующие функции:
- Развертывание высоконастраиваемых серверов MariaDB
- Многомастерная доступность (HA) через Galera. Автоматическое восстановление кластера Galera
- Одномастерная HA через репликацию SemiSync. Переключение первичного сервера. Автоматическое переключение первичного сервера
- Создание и восстановление резервных копий. Планируемые резервные копии. Вращение резервных копий
- Поддержка PVC и Kubernetes-томов (например, NFS) для хранения резервных копий
- Создание новых экземпляров из резервных копий и томов (например, NFS)
- Управление пользователями, правами и логическими базами данных
- Настройка подключений для ваших приложений
- Оптимизация и планирование SQL-скриптов
- Метрики Prometheus
- Вебхуки проверки для обеспечения неизменности CRD
- Дополнительные столбцы печати для отчёта о текущем статусе CRD
- CRD, разработанные в соответствии с соглашениями API Kubernetes
- Поддержка GitOps
- Изображение с поддержкой нескольких архитектур на основе distroless
- Установка с помощью kubectl, helm или OLM
Этот оператор с открытым исходным кодом выпущен на условиях лицензии MIT. Исходный код доступен на GitHub.
Другие операторы
Если вы знаете о других операторах MariaDB, не стесняйтесь добавлять их на эту страницу (см. Написание и редактирование статей базы знаний).
Операторы MySQL и Percona Server также должны работать, хотя могут потребоваться некоторые изменения для исправления несовместимостей или использования определённых функций MariaDB.
Контент изначально предоставлен Vettabase Ltd.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/kubernetes-operators-for-mariadb/