-
Notifications
You must be signed in to change notification settings - Fork 444
平滑升级策略
Wiki 下的中文文档将不在维护,请访问我们最新的中文文档网站,获取最新的文档更新。
由于 Kube-OVN 的每次更新涉及底层 OVN 和 OVS 的更新,存在着网络中断的风险,依照下列的策略可以尽可能降低升级对已有网络的影响。从 1.5 版本开始,我们对 vswitchd 和 ovn-controller 的停止方式进行了修改,可以保证已有数据流在 ovn 和 ovs 组件停止的情况下半分钟内不中断来降低升级对已有网络的影响。
-
和业务方沟通升级维护时间,尽量在升级期间不要有业务更新
-
关注 wiki 页面关于版本升级的提示,部分版本间升级可能存在特殊注意事项
-
将新版本镜像提前下发到每个节点,降低 ovs agent 升级时间间隔,保证对业务影响时间最短
-
升级 kube-system 下的 daemonset kube-ovn-pinger, 对比新旧 yaml 之间的区别,主要为镜像版本变化,对比后 edit 现有 daemonset 后等待更新完成。kube-ovn-pinger 为监控组件,不影响网络数据流,对现有网络无影响。
-
升级 kube-system 下的 daemonset kube-ovn-cni, 对比新旧 yaml 之间的区别,主要为镜像版本变化,对比后 edit 现有 daemonset 后需要手动销毁现有 kube-ovn-cni pod 等待更新完成。kube-ovn-cni 主要对新建和删除的 Pod 进行网络操作处理,不影响已有网络数据流,对现有网络无影响。
-
升级 kube-system 下的 deployment ovn-central, 对比新旧 yaml 之间的区别,主要为镜像版本变化,可能会存在其他参数变化,对比后 edit 现有 deployment 进行更新。ovn-central 更新不影响已有网络数据流,对新建或删除的 Pod 网络会产生影响。
-
升级 kube-system 下的 daemonset ovs-ovn, 对比新旧 yaml 之间的区别,主要为镜像版本变化,对比后 edit 现有 daemonset 后需要手动销毁现有 ovs-ovn pod 等待更新完成。ovs-ovn 为 vswitchd,ovsdb,ovn-controller 等组件,如果更新过程超过半分钟,会对已有网络数据流产生影响,需要逐一升级验证。
-
升级 kube-system 下的 deployment kube-ovn-controller,对比新旧 yaml 之间的区别,主要为镜像版本变化,可能会存在其他参数变化,对比后 edit 现有 deployment 进行更新。该步骤主要对控制平面进行更新,不影响已有网络数据流