I’m currently working on deploying the PieCloudDB Database and I’m looking to ensure a high-availability setup to minimize downtime and ensure reliable service continuity. How to implement high-availability deployment of PieCloudDB Database management and control platform? Any advice or guidance would be greatly appreciated.
The PieCloudDB database cloud native platform supports high-availability deployment based on k8s(requiring at least three hosts). Each management and control service runs in dual copies and on different hosts through anti-affinity.
After entering the deployment, in the gadgets/
directory under the root directory, according to the following steps:
1.Set CoreDNS to multi-replication and anti-affinity, CoreDNS is used for DNS for internal communication between platform components.
bash ha-coredns.sh
2.Set the postgres and redis services to be highly available.
bash ha-infra.sh
3.Set multiple replicas and anti-affinity for all services on the PieCloudDB control plane.
bash update-anti-affinity.sh
4.Check the deployment of all services and ensure that the number of instances of all services is more than 2 and distributed on different hosts.
kubectl get pod -A -owide