Deploy the MariaDB Operator and Mariadb Cluster
Create secret
Information about the secretes used
Manual secret generation is only required if you haven't run the create-secrets.sh
script located in /opt/genestack/bin
.
Deploy the mariadb operator
cluster_name=`kubectl config view --minify -o jsonpath='{.clusters[0].name}'`
sed -i -e "s/cluster\.local/$cluster_name/" /etc/genestack/kustomize/mariadb-operator/kustomization.yaml
test -n "$cluster_name" && kubectl kustomize --enable-helm /etc/genestack/kustomize/mariadb-operator | \
kubectl --namespace mariadb-system apply --server-side --force-conflicts -f -
Info
The operator may take a minute to get ready, before deploying the Galera cluster, wait until the webhook is online.
Deploy the MariaDB Cluster
Note
MariaDB has a base configuration which is HA and production ready. If you're deploying on a small cluster the aio
configuration may better suit the needs of the environment.
Replication in MariaDB involves synchronizing data between a primary database and one or more replicas, enabling continuous data availability even in the event of hardware failures or outages. By using MariaDB replication, OpenStack deployments can achieve improved fault tolerance and load balancing, ensuring that critical cloud services remain operational and performant at all times.
In some OpenStack deployments, a single MariaDB server is used to manage the database needs of the cloud environment. While this setup is simpler and easier to manage than clustered solutions, it is typically suited for smaller environments or use cases where high availability and fault tolerance are not critical. A single MariaDB server provides a centralized database service for storing and managing the operational data of OpenStack components, ensuring consistent performance and straightforward management. However, it is important to recognize that this configuration presents a single point of failure, making it less resilient to outages or hardware failures compared to more robust, multi-node setups.