最大限度地减少对 Kubernetes 上 Weave 网络升级的中断



我想将我的编织网络从 2.5.0 版升级到 2.5.2 版。我知道这就像更新编织守护程序集一样"简单"......但是,我想知道是否有一种方法可以在对系统上运行的 Pod 造成最小干扰的情况下完成此操作。

我想到一个简单的例子是:

  • 警戒线节点1
  • 排出所有 Pod 的节点 1
  • 节点 1 上的更新编织
  • 取消警戒线节点1

。然后冲洗并重复每个 K8s 节点,直到全部完成。

基于编织网文档

升级守护程序集

DaemonSet 定义指定了滚动更新,因此当您应用新版本时,Kubernetes 将自动逐个重新启动 Weave Net Pod。

使用滚动更新更新策略,在更新守护程序集模板后,旧的守护程序集 Pod 将被终止,新的守护程序集 Pod 将以受控方式自动创建。

正如我可以在另一个堆栈溢出答案中读到的那样

从今天开始,可以使用DeamonSet在不停机的情况下执行滚动更新!您需要在集群上运行至少 2 个节点,并在守护程序集配置中将 maxUnavailable 设置为 1。

假设以前的配置,当推送更新时,第一个节点将开始更新。第二个将等到第一个完成。成功后,第二个也会这样做。

主要缺点是您需要保持 2 个节点连续运行或在更新之前/之后采取措施生成/终止节点。

因此,我认为升级CNI插件的最佳选择是使用具有滚动更新的DaemonSet,并在DaemonSet配置中将maxUnavailable设置为1。

相关内容

  • 没有找到相关文章

最新更新