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:
-
abalki001/mariadb-operator: Looks abandonned as of August 2023.
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
-
-
Written in Go
-
Supports almost everything we need
-
Easy to integrate with VSHN AppCat
-
Advanced Galera support compared to Bitnami
-
- 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.
-
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.