代码之家  ›  专栏  ›  技术社区  ›  yonran

如何在不修改副本的情况下升级Helm中的部署?

  •  0
  • yonran  · 技术社区  · 4 年前

    在创建 Deployment HorizontalPodAutoscaler 如果部署 .spec.replicas 设置为 null ,或者应该取消设置,或者应该将其设置为hpa之间的某个值 minReplicas maxReplicas ?

    创建hpa时,hpa控制器将管理部署 .规格副本 ,因此,在更新部署其他字段时,不应更改副本。

    与相比 kubectl apply 声明性配置,您可以修改部署的其他字段,而无需修改 .规格副本 如果你离开 .规格副本 第一次创建部署时取消设置,以便在将来应用部署时,3向差异忽略该字段。或者要在创建时间之后省略该字段,必须使用 kubectl apply edit-last-applied 为了避免在删除字段时意外缩小到1( kubernetes/kubernetes#67135 ). 因此 kubectl应用 可以在不接触的情况下应用展开 .规格副本 .

    正确的方法是什么 helm upgrade a在不改变其缩放比例的情况下部署其他字段?

    0 回复  |  直到 4 年前
        1
  •  1
  •   Jakub    4 年前

    我检查过了 here 如果我理解正确,有两种方法可以做到这一点。

    1、添加if语句作为解决方法。

    @naseemkullah对此发表了评论。

    因此,解决方法是在部署的spec.replicas周围添加if语句,以便在启用HPA的情况下不对其进行模板化


    2、完全删除副本字段,则应尊重HPA管理的副本数量。

    comment 关于这件事,由@tianchengli添加。

    如果我完全删除副本字段,它将尊重HPA管理的副本数量。

    推荐文章