Charmed MySQL K8s
- By Canonical Data Platform
- Databases
Channel | Revision | Published | Runs on |
---|---|---|---|
8.0/stable | 127 | 22 Mar 2024 | |
8.0/candidate | 127 | 18 Mar 2024 | |
8.0/beta | 132 | 22 Mar 2024 | |
8.0/edge | 137 | 16 Apr 2024 |
juju deploy mysql-k8s --channel 8.0/stable
Deploy Kubernetes operators easily with Juju, the Universal Operator Lifecycle Manager. Need a Kubernetes cluster? Install MicroK8s to create a full CNCF-certified Kubernetes system in under 60 seconds.
Platform:
Switchover / Failover of Async replication
WARNING: it is an internal article. Do NOT use it in production! Contact Canonical Data Platform team if you are interested in the topic.
Pre-requisits
Make sure both Rome
and Lisbon
Clusters are deployed using the Async Deployment manual!
Switchover (safe)
Assuming Rome
is currently Primary
and you want to promote Lisbon
to be new primary
(Rome
will be converted to StandBy
member):
juju run -m lisbon db2/leader promote-standby-cluster cluster-set-name=<cluster-set-119185404c15ba547eb5f0750a5c34b5>
where cluster-set-name
is a mandatory option to avoid human mistakes.
The cluster-set-name can be set on deployment and retrieved using:
juju run -m rome db1/0 get-cluster-status cluster-set=true
...
domainname: cluster-set-bcba09a4d4feb2327fd6f8b0f4ac7a2c
...
Failover (forced)
Warning: this is a dangerous operation which can cause the split-brain situation. It should be executed if Primary cluster is no longer exist (lost) ONLY! Otherwise please use safe switchover procedure above! Also consider to fence the write traffic BEFORE forcing emergency failover.
Assuming Rome
was a Primary
(before we lost the cluster Rome
) and you want to promote Lisbon
to be the new primary:
juju run -m lisbon db2/leader promote-standby-cluster cluster-set-name=<cluster-set-bcba09a4d4feb2327fd6f8b0f4ac7a2c> force=True
It’s required to provide the cluster-set-name
option as a foolproof method.
Warning: The
force
will cause the old primary to be invalidated, make sure you have fenced writes there (fencing will reject all writes to the ClusterSet during the emergency failover)!