All pages
Powered by GitBook
1 of 1

Loading...

Kubernetes Operators for MariaDB

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

  • Flexible configuration. .

  • based on and .

  • based on .

  • Multiple : S3 compatible, Azure Blob Storage, PVCs, Kubernetes volumes and VolumeSnapshots.

  • Flexible backup configuration: , , , , , , ...

  • : restore the closest available backup to the specified time.

  • from: Physical backups, logical backups, S3, Azure Blob Storage, PVCs, VolumeSnapshots...

  • : 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.

  • CRDs designed according to the Kubernetes .

  • Install it using , or .

  • Multiple : cluster-wide and single namespace.

  • Helm charts published as .

  • Helm chart to deploy and its associated CRs.

  • Multi-arch distroless .

  • GitOps friendly.

  • MariaDB Enterprise Operator

    Find the .

    MariaDB Community Operator

    mariadb-operator
    Artifact Hub
    Operator Hub
    standalone MariaDB servers
    highly available
    Asynchronous replication
    documentation
    API reference
    example suite
    Synchronous multi-master via Galera
    Multi-cluster
    MaxScale
    storage
    Volume expansion
    Physical backups
    mariadb-backup
    Kubernetes VolumeSnapshots
    Logical backups
    mariadb-dump
    backup storage types
    scheduling
    compression
    encryption
    retention policy
    target policy
    timeout
    staging area
    Target recovery time
    Bootstrap new instances
    Point-In-Time-Recovery
    Cluster-aware rolling update
    multi-cluster topology
    update strategies
    data-plane updates
    my.cnf change detection
    updates
    Suspend
    Maintenance mode
    TLS certificates
    root password rotation
    cert-manager
    Prometheus metrics
    mysqld-exporter
    prometheus-operator
    SQL resources
    users
    grants
    databases
    external MariaDB instances
    connections
    sql scripts
    API conventions
    helm
    OLM
    static manifests
    deployment modes
    OCI artifacts
    MariaDB clusters
    image
    spinner
    documentation here