【问题标题】:minimise disruption on weave network upgrade on kubernetes最大限度地减少 Kubernetes 上 weave 网络升级的中断
【发布时间】:2020-02-05 09:02:42
【问题描述】:

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

我心中的一个简单例子是:

  • 警戒线节点1
  • 排空所有 pod 的 node1
  • 在 node1 上更新编织
  • 解除节点1

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

【问题讨论】:

    标签: networking kubernetes upgrade weave cni


    【解决方案1】:

    基于织网documentation

    Upgrading the Daemon Sets

    DaemonSet 定义指定Rolling Updates,所以当你应用新版本时,Kubernetes 会自动一个一个重启 Weave Net pod。

    使用 RollingUpdate 更新策略,更新 DaemonSet 模板后,旧的 DaemonSet pod 将被杀死,新的 DaemonSet pod 将以受控方式自动创建。

    正如我在另一个 stackoverflow answer 中看到的那样

    从今天开始,可以使用 DeamonSet 执行滚动更新而无需停机!您需要在集群上运行至少 2 个节点,并在 DaemonSet 配置中将 maxUnavailable 设置为 1。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多