Quickstart

This guide aims to provide a quick way to get started with the MariaDB Enterprise Kubernetes Operator for Kubernetes. It will walk you through the process of deploying a MariaDB Enterprise Cluster and MaxScale via the MariaDB and MaxScale CRs (Custom Resources) respectively.

Before you begin, ensure you meet the following prerequisites:

The first step will be configuring a Secret with the credentials used by the MariaDB CR:

apiVersion: v1
kind: Secret
metadata:
  name: mariadb
stringData:
  password: MariaDB11!
kubectl apply -f secret.yaml

Next, we will deploy a MariaDB Enterprise Cluster (Galera) using the following CR:

apiVersion: enterprise.mariadb.com/v1alpha1
kind: MariaDB
metadata:
  name: mariadb-galera
spec:
  rootPasswordSecretKeyRef:
    name: mariadb
    key: password
  imagePullSecrets:
  -  name: mariadb-enterprise
  maxScaleRef:
    name: maxscale-galera
  username: mariadb
  passwordSecretKeyRef:
    name: mariadb
    key: password
  database: mariadb
  storage:
    size: 1Gi
  replicas: 3
  galera:
    enabled: true

Let's break it down:

  • rootPasswordSecretKeyRef: A reference to a Secret containing the root password.

  • imagePullSecrets: The name of the Secret containing the customer credentials to pull the MariaDB Enterprise Server image.

  • maxScaleRef: The name of the MaxScale CR that we will be creating right after.

  • username, passwordSecretKeyRef and database: The initial user and database to create.

  • storage: The size of the volume that will back the data directory.

  • replicas: The number of MariaDB Enterprise Server instances to deploy.

  • galera: Configuration for the Galera clustering.

After applying the CR, we can observe the MariaDB Pods being created:

Now, let's deploy a MaxScale CR:

Again, let's break it down:

  • imagePullSecrets: The name of the Secret containing the customer credentials to pull the MaxScale image.

  • mariaDbRef: A reference to the MariaDB CR that we want to connect to.

  • replicas: The number of MaxScale instances to deploy.

After applying the CR, we can observe the MaxScale Pods being created, and that both the MariaDB and MaxScale CRs will become ready eventually:

To conclude, let's connect to the MariaDB Enterprise Cluster through MaxScale using the initial user and database we initially defined in the MariaDB CR:

Refer to the documentation, the API reference and the examples catalog for further detail.

This page is: Copyright © 2025 MariaDB. All rights reserved.

Last updated

Was this helpful?