【问题标题】:Helm rollback to previous releaseHelm 回滚到以前的版本
【发布时间】:2019-01-24 10:22:54
【问题描述】:

我正在寻找一种将 helm 版本回滚到其先前版本的方法,而无需将目标版本版本指定为数字。

helm rollback <RELEASE> ~1(像git reset HEAD~1)这样的东西会很好。

【问题讨论】:

    标签: kubernetes kubernetes-helm


    【解决方案1】:

    事实证明,通过将目标发布版本定义为 0,有一个未记录的选项可以回滚到最后一个成功的发布版本。 喜欢:helm rollback <RELEASE> 0

    来源:https://github.com/helm/helm/issues/1796

    【讨论】:

    • 无论成功与否,这个命令似乎都会回滚到以前的版本。
    【解决方案2】:

    如果你只是想回滚到以前的版本,你可以这样做

    helm rollback <RELEASE> 0
    

    【讨论】:

      【解决方案3】:

      与上面之前的旧答案不同。

      根据最新的documentation,您可以通过简单地省略helm rollback中的参数回滚到之前的版本。这意味着您的命令应该像下面这样回滚到以前的版本。

      helm rollback &lt;RELEASE_NAME&gt;

      【讨论】:

        【解决方案4】:

        使用 Helm

        helm rollback release-name 0

        使用 kubectl

        kubectl 中的 rollout/rollback 是什么意思? 滚动更新允许以下操作:

        1. 将应用程序从一种环境提升到另一种环境(通过容器映像更新)。
        2. 回滚到以前的版本。
        3. 应用程序的持续集成和持续交付,停机时间为零。

        kubectl rollout undo deployment/deployment-name

        kubectl rollout undo deployment/deployment-name --to-revision=0

        【讨论】:

        • 请注意kubectl这种方式只会回滚部署,不会回滚与helm release相关的其他资源。
        • @aleksandr erokhin 是的,这是绝对正确的,因为 kubectl 只维护 Deployment 对象,而 helm 维护包含所有清单/对象的版本。我已经更新了答案,但以上只是提供它在 kubectl 中如何工作的一种方式。
        【解决方案5】:

        以下是您可以使用 Helm 回滚的步骤:

        1. 使用$ helm ls检查版本名称和(版本)编号
        2. rollback 命令的第一个参数是版本名称,第二个参数是修订(版本)号。
        $ helm rollback RELEASE [REVISION]
        

        【讨论】:

          【解决方案6】:

          你可以简单地做 -

          helm rollback <release-name> <release version> -n <namespace>
          

          在 helm3 命名空间中是必需的,而在较低版本中,您可以执行以下操作 -

          helm rollback <release-name> <release version>
          

          【讨论】:

            猜你喜欢
            • 2020-09-24
            • 1970-01-01
            • 1970-01-01
            • 2021-11-29
            • 1970-01-01
            • 1970-01-01
            • 2023-01-29
            • 2021-08-10
            • 2019-06-13
            相关资源
            最近更新 更多