高可用安装
Kube-OVN的高可用包含两个组件的高可用:ovndb以及Kube-OVN-Controller。
这两个组件的高可用模式存在差异,其中ovndb通过RAFT做分布式一致性可以做到Active-Active的cluster高可用,Kube-OVN-Controller需要处理集群中的状态和事件,同一事件只能有一个工作实例,因此采用了Leader-Election的方式进行选举式的高可用。
ovndb高可用安装
- 增加ovndb部署节点,建议总共有奇数个部署ovndb的节点(1,3,5…)。
1
kubectl label node <node-name to deploy ovndb> kube-ovn/role=master
- 修改ovn.yaml中ovn-central deployment的replicas为上一步对应Node的数量。
- 部署修改后的yaml。
1
kubectl apply -f ovn.yaml
等待ovn-central pod进入Ready状态即可完成ovndb的高可用部署。
Kube-OVN-Controller高可用安装
Kube-OVN-Controller本身实现了Leader-Election,只需要增加replicas数量即可完成高可用。
更改kube-ovn.yaml中Kube-OVN-Controller deployment的replicas数量,并kubectl apply即可。
1 | kubectl apply -f kube-ovn.yaml
|
等待Kube-OVN-Controller进入Ready状态即可完成Kube-OVN-Controller的高可用安装。
