kubernetes 删除命名空间并删除Helm部署

nbysray5  于 2022-12-22  发布在  Kubernetes
关注(0)|答案(2)|浏览(720)

我将我的Helm部署部署到隔离的名称空间。
删除名称空间将删除其中的所有资源-Helm部署除外。
删除Helm部署将删除其中的所有资源-命名空间除外。
我不得不这样做似乎多余:

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

我宁愿只删除我的命名空间,并有Helm部署也清除-这可能吗?

u4vypkhs

u4vypkhs1#

删除命名空间将删除其中的所有资源-helm部署除外
这是不可能的(删除名称空间意味着删除其中的所有内容,没有任何例外),必须意味着表示Helm部署概念的状态不在该名称空间中。Helm将这些作为配置Map存储在TILLER_NAMESPACE中。请参见此处和此处。
毫不奇怪,如果您使用helm创建一些资源,然后“在引擎盖下”直接通过kubectl删除这些资源,Helm的世界状态不会导致该部署消失。
删除helm部署将删除其中的所有资源-命名空间除外
这听起来像是预期的行为。假设您使用kubectl在带外创建了名称空间,它不是您的Helm部署的一部分。因此删除Helm部署不会删除该名称空间。
如果您使用kubectl create namespace NShelm install CHART --namespace NS,那么要进行清理,您需要先使用helm delete发布版本,然后使用kubectl delete命名空间,这并不奇怪。
我所能想到的唯一方法是让Helm图表本身创建一个名称空间,并在该名称空间内创建所有后续的名称空间范围内的资源。Here就是一个这样做的示例。

yvt65v4c

yvt65v4c2#

创建了一个PR以清除从helm部署的所有资源。请单击链接--〉https://github.com/helm/helm/issues/1464
希望在将来的版本中能够解决这个问题

相关问题