User Tools

Site Tools


k8s:services:setting_up_a_phpmyadmin_instance

Setting up a phpmyadmin instance

Setting up a phpmyadmin instance for the shared HA maraidb DB (“mysql”) is easy with bitnami helm charts. phpmyadmin

Bitnami charts can be enabled globally usign “Manage Catalogs” in rancher and then are availabel as “Apps”. Use “Add Catalog” and use https://charts.bitnami.com/bitnami. This URL serves “Helm v3” charts (“Helm v2” is EOL now).

We want to run this phpmyadmin instance next to the shared mariadb. So it is best to run it in the dedicated project “shared DBs” in a namespace “shared-dbs”. shared DBs

This web application only needs to correctly set up the ingress which with HTTPS and a “Let's Encrypt” certificate. As we have all the building blocks already in place we only need to set some Helm configuration variables to true.

So we “Launch” a new up, search for “phpmyadmin” and select that.

We can leave the name as phpmyadmin as it will serve as the frontend for the shared mariadb service

We want to change the namespace to shared-dbs which is in our shared DBs project.

By default Bitname helm charts try to create a separate IP based loadbalancer. We don't want that and don't have so many IP addresses to spare so we use ClusterIP (access only via ingress or within the cluster).

We customize the chart with the values below:

image.tag=5
podLabels=ID: "99999"
service.type=ClusterIP
ingress.enabled=true
ingress.tls=true
ingress.certManager=true
ingress.hostname=phpmyadmin.cluster.siam.homeunix.net
db.allowArbitraryServer=false
db.host=mariadb
  • If not set the image.tag or the version of the phpmyadmin used will be set to rolling master. The documentation for the chart explicitly says to not use this for production. We try the oldest supported version of this chart for now.
  • We set the ingress by just specifying some booleans and a hostname as described above
  • We restrict this instance to a particular mariadb server
  • We provide the name of this server (just “mariadb” as we are in the same namesapce)

phpmyadmin always used the DB build in authentication so we don't need to set anything else to get a working interface. Everything beyond what we set up here con be done from within phpmyadmin if so desired.

k8s/services/setting_up_a_phpmyadmin_instance.txt · Last modified: by 127.0.0.1