删除名称空间并删除头盔部署?

时间:2019-08-05 23:24:18

标签: kubernetes google-kubernetes-engine kubernetes-helm kubectl

我将头盔部署到隔离的名称空间

删除名称空间会删除其中的所有资源-掌舵部署除外

删除helm部署会删除其中的所有资源-除了名称空间

我必须这样做,这似乎是多余的:

helm del `helm ls NAMESPACE --short` --purge
kubectl delete namespace NAMESPACE

Id只是删除我的命名空间并清除头盔部署-这可能吗?

2 个答案:

答案 0 :(得分:3)

  

删除名称空间会删除其中的所有资源-掌舵部署除外

这不可能(删除名称空间意味着删除其中的所有内容,没有任何例外),并且必须表示代表Helm的部署概念的状态不存在于该名称空间中。 Helm将这些作为配置映射存储在TILLER_NAMESPACE中。参见herehere

毫不奇怪,如果您使用helm创建一些资源,然后“深入了解”并直接通过kubectl删除这些资源,那么Helm的世界状况将不会导致该部署消失。

  

删除helm部署会删除其中的所有资源-除了名称空间

这听起来像是预期的行为。大概是用kubectl带外创建了名称空间,它不是Helm部署的一部分。因此,删除Helm部署不会删除该命名空间。

如果您kubectl create namespace NShelm install CHART --namespace NS,那么清理它就不足为奇了,您需要先发布helm delete,然后再命名空间kubectl delete

我能想到的唯一方法是让Helm图表本身创建一个名称空间,并在该名称空间内创建所有后续的基于名称空间的资源。 Here是一个看起来可以做到这一点的例子。

答案 1 :(得分:1)

创建了一个PR来清理从helm部署的所有资源。跟随链接-> https://github.com/helm/helm/issues/1464

希望在将来的版本中能够解决