Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 2 init containers:
    • init-mysql
      1. Generates special MySQL config files based on an Ordinal index. (the ordinal index is saved in server-id.cnf)
      2. Uses config-map to copy the master.cnf/slave.cnf files to the conf.d directory.
    • clone-mysql:
      1. Performs a clone operation the first time the Slave comes up, assuming that Master already has some data on it when the Slave starts.
      2. Uses the OpenSource tool Percona for this job
  • 2 containers:
    • mysqld:
      • Actual MySQL server
    • xtrabackup sidecar:
      1. Handles all of the replication between this server and the Master.
      2. Handles requests from other Pods for data cloning.

2 Services are created:

  • DBHost should be used for any write operation (writes to master)
  • DBHost-Read should be used for read operations (can query Slaves besides master)

As mentioned above, nfs-provisioner was used to dynamically create Persistent Volume Claims to enable dynamic scaling of slaves.

...