Helm 删除并重新安装部署。等还是不等?
Helm delete and reinstall deployment. Wait or not to wait?
我有部署一些图表的情况,我们称它为“myChart”。
假设我有一个管道,我在下面做的是:
helm delete myChart_1.2 -n <myNamespace>
紧接着我正在安装新的:
helm delete myChart_1.3 -n <myNamespace>
Kubernetes 或者 Helm 知道应该先删除所有资源然后安装新资源吗?
比如可能有一些PVC和PV还没有删除。这有什么问题吗,我应该在部署前添加一些等待吗?
Helm delete(也称为卸载)应该在退出之前删除给定部署中管理的对象。
不过,当命令 returns 时:您可能会留下处于终止状态的资源,等待实际删除。
通常,我们可以找到 PVC,它可能仍然附着在 运行 容器上。
或者诸如 ReplicaSet 或 Pods 之类的对象 -- 最有可能的是,您的 Helm 图表安装了 Deployments、DaemonSets、StatefulSets... 顶级对象可能看起来已被删除,而它们的子对象仍然存在被终止。
虽然这对 Helm 来说应该不是问题,但假设您的应用程序是使用生成的名称安装的,并且只要您的图表能够在同一个 [=22] 中创建同一应用程序的多个实例=], ...它们没有重叠(=> 如果通过 Helm 管理的所有资源都具有唯一的名称,但情况并非总是如此)。
如果您的图表托管在 public 存储库中,请告诉我们要检查的内容。如果您不是该图表的维护者之一:请注意 Helm 图表可能会从惊人变为非常糟糕,这取决于贡献者、到目前为止满足的用例,...
Kubernetes(以及 Helm 的扩展)永远不会清理作为 StatefulSets 的一部分创建的 PVC。这是有意的(参见相关 documentation)以避免意外丢失数据。
因此,如果您的图表中确实有从 StatefulSets 创建的 PVC,并且如果您的管道以相同的名称重新安装 Helm 图表,请确保在 运行“helm delete”之后明确删除 PVC,例如使用单独的“kubectl delete”命令。
我有部署一些图表的情况,我们称它为“myChart”。
假设我有一个管道,我在下面做的是:
helm delete myChart_1.2 -n <myNamespace>
紧接着我正在安装新的:
helm delete myChart_1.3 -n <myNamespace>
Kubernetes 或者 Helm 知道应该先删除所有资源然后安装新资源吗?
比如可能有一些PVC和PV还没有删除。这有什么问题吗,我应该在部署前添加一些等待吗?
Helm delete(也称为卸载)应该在退出之前删除给定部署中管理的对象。
不过,当命令 returns 时:您可能会留下处于终止状态的资源,等待实际删除。
通常,我们可以找到 PVC,它可能仍然附着在 运行 容器上。
或者诸如 ReplicaSet 或 Pods 之类的对象 -- 最有可能的是,您的 Helm 图表安装了 Deployments、DaemonSets、StatefulSets... 顶级对象可能看起来已被删除,而它们的子对象仍然存在被终止。
虽然这对 Helm 来说应该不是问题,但假设您的应用程序是使用生成的名称安装的,并且只要您的图表能够在同一个 [=22] 中创建同一应用程序的多个实例=], ...它们没有重叠(=> 如果通过 Helm 管理的所有资源都具有唯一的名称,但情况并非总是如此)。
如果您的图表托管在 public 存储库中,请告诉我们要检查的内容。如果您不是该图表的维护者之一:请注意 Helm 图表可能会从惊人变为非常糟糕,这取决于贡献者、到目前为止满足的用例,...
Kubernetes(以及 Helm 的扩展)永远不会清理作为 StatefulSets 的一部分创建的 PVC。这是有意的(参见相关 documentation)以避免意外丢失数据。
因此,如果您的图表中确实有从 StatefulSets 创建的 PVC,并且如果您的管道以相同的名称重新安装 Helm 图表,请确保在 运行“helm delete”之后明确删除 PVC,例如使用单独的“kubectl delete”命令。