Skip to main content

MariaDB Cluster with WordPress on MicroK8s with Helm

don't use it in any production environment. This is for testing purposes only local and in Home LAN

Values for MariaDB Cluster

nano mariadb.yaml
architecture: "replication"
auth:
user: "user"
rootPassword: "123"
password: "123"
replicationPassword: "123"
mariadb:
secondary:
replicaCount: 4
tls:
enabled: true
networkPolicy:
enabled: false

Values for WordPress

nano wordpress.yaml
apiVersion: v1
kind: Service
metadata:
name: wordpress
labels:
app: wordpress
spec:
ports:
- port: 80
selector:
app: wordpress
tier: frontend
type: LoadBalancer
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wp-pv-claim
labels:
app: wordpress
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: wordpress
labels:
app: wordpress
spec:
selector:
matchLabels:
app: wordpress
tier: frontend
strategy:
type: Recreate
template:
metadata:
labels:
app: wordpress
tier: frontend
spec:
containers:
- image: wordpress:6.2.1-apache
name: wordpress
env:
- name: WORDPRESS_DB_HOST
value: wordpress-mariadb
- name: WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name: mysql-pass
key: password
- name: WORDPRESS_DB_USER
value: wordpress
ports:
- containerPort: 80
name: wordpress
volumeMounts:
- name: wordpress-persistent-storage
mountPath: /var/www/html
volumes:
- name: wordpress-persistent-storage
persistentVolumeClaim:
claimName: wp-pv-claim

Deploy it

helm repo add bitnami https://charts.bitnami.com/bitnami

microk8s helm install maria oci://registry-1.docker.io/bitnamicharts/mariadb -f mariadb.yaml
microk8s helm install wordpress oci://registry-1.docker.io/bitnamicharts/wordpress -f wordpress.yaml