> 文章列表 > Helm回退

Helm回退

Helm回退

回退

Helm 回退可以通过以下步骤完成:

  1. 首先,使用 helm list 命令查看已安装的 chart 版本。例如,如果要回退的 chart 名称为 mychart,则可以运行以下命令:
helm list --namespace <namespace> | grep mychart

其中,<namespace> 是 chart 所在的命名空间。

  1. 找到要回退的版本号,然后使用 helm rollback 命令回退到该版本。例如,要回退到版本号为 2 的 mychart:
helm rollback mychart 2 --namespace <namespace>

其中,<namespace> 是 chart 所在的命名空间。

  1. 验证回退操作是否成功,可以使用 helm status 命令查看 chart 的状态
helm status mychart --namespace <namespace>

如果 chart 的状态显示为已回退到版本号 2,则回退操作成功。

历史版本信息

Helm 可以通过 helm history 命令来查看已安装 chart 的历史版本信息。

使用以下命令可以查看指定 chart 的历史版本信息:

helm history <release-name> --namespace <namespace>

其中,<release-name> 是已安装 chart 的名称,<namespace> 是 chart 所在的命名空间。

执行该命令后,会显示 chart 的历史版本信息,包括版本号、更新时间、状态等。例如:

REVISION        UPDATED                         STATUS          CHART                   APP VERSION     DESCRIPTION
1               Wed Jan  1 00:00:00 2020        DEPLOYED        mychart-0.1.0           1.0             Initial install
2               Thu Jan  2 00:00:00 2020        DEPLOYED        mychart-0.2.0           1.0             Upgrade complete

在这个例子中,mychart 已经安装了两个版本,分别是版本号为 1 和 2。可以看到,第一个版本是初始安装,第二个版本是一个升级操作。

如果想查看某个特定版本的详细信息,可以使用 helm status 命令,例如:

helm status <release-name>-<revision> --namespace <namespace>

其中,<revision> 是要查看的版本号。

状态

在 Helm 中,当你更新一个已经安装的 chart 时,如果新的 chart 版本号比已安装的版本号低,那么就会出现 superseded 的状态。这意味着新版本的 chart 被旧版本的 chart 替代了。

在 Helm 的 release 周期中,一个 chart 的 release 可能会处于以下几种状态之一:

  • deployed: chart 已经被成功部署
  • failed: chart 部署失败
  • uninstalled: chart 已经被卸载
  • superseded: chart 的新版本已经部署,旧版本被替代
  • superceded: 与 superseded 相同,只是拼写错误

如果你在 Helm 中看到了 superseded 状态,那么你可以通过 helm history 命令来查看已经安装的 chart 的历史版本信息。然后可以使用 helm rollback 命令回滚到旧版本,或者使用 helm upgrade 命令将 chart 更新到新版本。

Debug

在Helm中,执行回滚操作时,可以使用以下命令来查看回滚操作的状态:

helm history RELEASE_NAME

其中,RELEASE_NAME是要回滚的发布名称。

该命令将显示发布历史记录,包括每个版本的版本号、安装日期、状态和注释等信息。如果回滚操作成功,则状态将显示为“Superseded”,并且新版本的状态将变为“Deployed”。如果回滚操作失败,则状态将显示为“Failed”。您可以使用此命令来检查回滚操作的状态并确定是否成功。

如果您需要查看回滚操作的详细日志,请使用以下命令:

helm rollback RELEASE_NAME REVISION_NUMBER --debug

其中,REVISION_NUMBER是要回滚的版本号。该命令将显示回滚操作的详细日志,包括每个步骤的状态和输出等信息。您可以使用此命令来查看回滚操作的详细信息并确定是否成功。