Official Kubernetes Operators for MariaDB: Enterprise Operator for MariaDB Server+MaxScale, CRDs/controllers, HA topologies, and backup/restore automation.
Operators basically instruct Kubernetes about how to manage a certain technology. Kubernetes comes with some default operators, but it is possible to create custom operators. Operators created by the community can be found on OperatorHub.io.
Custom Operators
Kubernetes provides a declarative API. To support a specific (i.e. MariaDB) technology or implement a desired behavior (i.e. provisioning a replica), we extend Kubernetes API. This involves creating two main components:
A custom resource.
A custom controller.
A custom resource adds an API endpoint, so the resource can be managed via the API server. It includes functionality to get information about the resource, like a list of the existing servers.
A custom controller implements the checks that must be performed against the resource to check if its state should be corrected using the API. In the case of MariaDB, some reasonable checks would be verifying that it accepts connections, replication is running, and a server is (or is not) read only.
MariaDB Enterprise Operator provides a seamless way to run and operate containerized versions of MariaDB Enterprise Server and MaxScale on Kubernetes, allowing you to leverage Kubernetes orchestration and automation capabilities. This document outlines the features and advantages of using Kubernetes and the MariaDB Enterprise Operator to streamline the deployment and management of MariaDB and MaxScale instances.
is a Kubernetes operator that allows you to run and operate MariaDB in a cloud native way. It aims to declaratively manage MariaDB instances using Kubernetes CRDs instead of imperative commands.
It's available in both and and supports the following features:
Easily provision in Kubernetes.
Multiple topologies supported:
Please, refer to the , the and the for further detail.
This page is licensed: CC BY-SA / Gnu FDL
: cross-cluster replication for multi-region deployments, disaster recovery, and blue-green upgrades.
as database proxy to load balance requests and perform failover/switchover operations
: Archive binary logs to enable point-in-time restoration and significantly reduce RPO.
: roll out replica Pods one by one, wait for each of them to become ready, and then proceed with the primary Pod, using ReplicasFirstPrimaryLast.
Zero-downtime blue-green updates: leverage the to maintain two identical cluster topologies, upgrade one in the background, and switch between them without downtime.
Manual : OnDelete and Never.
Automated .
. Automatically trigger when my.cnf changes.
operator reconciliation for maintenance operations.
for safe operational windows: cordon, drain connections, and read-only modes.
Issue, configure and rotate and CAs.
Automated by updating the referenced Secret.
Native integration with . Automatically create Certificate resources.
via and maxscale-exporter.
Native integration with . Automatically create ServiceMonitor resources.
Declaratively manage : , and logical .
Declaratively manage resources in .
Configure for your applications.
Orchestrate and schedule .
Validation webhooks to provide CRD immutability.
Additional printer columns to report the current CRD status.