This workshop has been deprecated and archived. The new Amazon EKS Workshop is now available at www.eksworkshop.com.
ConfigMap allow you to decouple configuration artifacts and secrets from image content to keep containerized applications portable. Using ConfigMap, you can independently control the 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 create the ConfigMap
.
cd ${HOME}/environment/ebs_statefulset
cat << EoF > ${HOME}/environment/ebs_statefulset/mysql-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: mysql-config
namespace: mysql
labels:
app: mysql
data:
master.cnf: |
# Apply this config only on the leader.
[mysqld]
log-bin
slave.cnf: |
# Apply this config only on followers.
[mysqld]
super-read-only
EoF
The ConfigMap
stores master.cnf
, slave.cnf
and passes them when initializing leader and follower pods defined in StatefulSet:
Create “mysql-config” ConfigMap
.
kubectl create -f ${HOME}/environment/ebs_statefulset/mysql-configmap.yaml