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.
Copy/Paste the following commands into your Cloud9 Terminal.
cd ~/environment/templates wget https://eksworkshop.com/statefulset/configmap.files/mysql-configmap.yml
Check the configuration of mysql-configmap.yml file by following command.
ConfigMap stores master.cnf, slave.cnf and pass them when initializing master and slave pods defined in statefulset. master.cnf is for the MySQL master pod which has binary log option (log-bin) to provides a record of the data changes to be sent to slave servers and slave.cnf is for slave pods which has super-read-only option.
apiVersion: v1 kind: ConfigMap metadata: name: mysql-config labels: app: mysql data: master.cnf: | # Apply this config only on the master. [mysqld] log-bin slave.cnf: | # Apply this config only on slaves. [mysqld] super-read-only
Create configmap “mysql-config” by following command.
kubectl create -f ~/environment/templates/mysql-configmap.yml