Deploying High Availability (HA)
HA of Kube-OVN comprises two components: ovndb and Kube-OVN-Controller.
Their HA implementations differ. The ovndb ensures distributed consistency via RAFT, supporting active-active cluster deployment. The Kube-OVN-Controller, responsible for processing cluster states and events, requires exclusive event handling per instance and thus employs leader-election for HA.
Deploying HA for the ovndb
- Add nodes for deploying the ovndb. An odd number of nodes are recommended.
1kubectl label node <node-name to deploy ovndb> kube-ovn/role=master
- Change the value of replicas in the ovn-central deployment section in the ovn.yaml file to the number of nodes configured in the previous step.

- Deploy the modified ovn.yaml file.
1kubectl apply -f ovn.yaml
After ovn-central pods enter the Ready state, HA deployment for the ovndb is complete.
Deploying HA for the Kube-OVN-Controller
The Kube-OVN-Controller implements the leader-election process. You only need to increase the value of replicas to achieve HA.
Change the value of replicas in the kube-ovn-controller deployment section in the kube-ovn.yaml file and run the kubectl apply command.
1 | kubectl apply -f kube-ovn.yaml |
After the Kube-OVN-Controller enters the Ready state, HA deployment for the Kube-OVN-Controller is complete.
