ConfigMap allow you to decouple configuration artifacts and secrets from image content to keep containerized applications portable. Using ConfigMap, you can independently control MySQL configuration.
We will create a new Namespace called mysql that will host all the components.
kubectl create namespace mysql
Run the following commands to download the ConfigMap.
cd ~/environment/templates
wget https://eksworkshop.com/beginner/170_statefulset/configmap.files/mysql-configmap.yml
Check the configuration of mysql-configmap.yml file.
cat ~/environment/templates/mysql-configmap.yml
The ConfigMap stores master.cnf, slave.cnf and passes them when initializing leader and follower pods defined in StatefulSet:
* master.cnf is for the MySQL leader pod which has binary log option (log-bin) to provides a record of the data changes to be sent to follower servers.
* slave.cnf is for follower pods which have super-read-only option.
Create “mysql-config” ConfigMap.
kubectl create -f ~/environment/templates/mysql-configmap.yml