VSHN Managed MariaDB

Problem

We need to provide MariaDB on Kubernetes with the following features:

  • Standalone and cluster functionality (Galera)

  • Ability to customize MariaDB settings

  • Included metrics exporter

  • Backup

  • Regular Maintenance

  • Version Upgrades

Solutions

For MariaDB there are a few operators available, as well as the various Helm charts.

The following section contains the options that have been looked at and chosen among few others that have been discarded for following reasons:

  • Lack of support for MariaDB

  • Lack of support for MariaDB Galera Cluster

Requirement Bitnami Helmchart mariadb-operator

Standalone

Galera

✅ (Multi master, single master)

Customize MariaDB Settings

Metrics

Backup

Automatic Restore

Regular Maintenance

Version Upgrades

User management

Logical Database Management

Not looked into:

Analysis - mariadb-operator

As of writing this document a very new Kubernetes operator, which is currently the best what can be found on GitHub. It comes with a variety of installation methods and is actively maintained. It is also mentioned in MariaDB knowledge base: Kubernetes Operators for MariaDB.

Advantages
Disadvantages
  • Lack of regular, automated maintenance

  • Maintained by a single maintainer only, if he leaves the project, we would have to fork and maintain it ourselves

  • Restores database to new instance, like Stackgres does in PostgreSQL, which is not ideal for us, but we can work around it

  • We would need to write and maintain a new Project Syn Commodore Component to deploy this operator

Analysis - Bitnami Helm Chart

Bitnami Helm Charts are solid, actively maintained, and we already have experience integrating it into our offerings.

Advantages
  • Supports most of our needs

  • Easy to integrate with VSHN AppCat

  • Sufficient Galera support

  • Well tested and widely used by VSHN

  • Faster integration and development as we already know how to work with it

Disadvantages
  • Lack of regular, automated maintenance

  • We need to use other tools for user/logical database management.

Decision

We use the Bitnami Helm Chart.

Rationale

The mariadb-operator project seems to be a very good solution with high potential, but it is not yet mature enough for us to use it. We would need to invest much more time to integrate it into our offerings and maintain it. It’s developed by one maintainer only, which is risky for us.

Bitnami’s Helm Chart isn’t that feature rich, but it has a lot of more advantages. Using it, we can offer the same quality for our customers, without taking unnecessary risk and with shorter development time. We’re also using the Bitnami Helm Chart for our Redis offering.