如何从Kubernetes中删除所有资源一次?

问题描述 投票:7回答:2

包括:

  • 守护进程集
  • 部署
  • 工作
  • 副本集
  • 复制控制器
  • 有状态集
  • 服务
  • ...

如果有replicationcontroller,当删除一些部署时,它们将重新生成。有没有办法让kubenetes回到初始化状态?

kubernetes
2个回答
9
投票

Kubernetes Namespace将是您的最佳选择。您可以轻松创建命名空间资源。 kubectl create -f custom-namespace.yaml

$ apiVersion: v1 kind: Namespace metadata: name:custom-namespace

现在,您可以在该自定义命名空间中部署所有其他资源(部署,副本集,服务等)。

如果要删除所有这些资源,只需删除自定义命名空间即可。通过删除自定义命名空间,将删除所有其他资源。如果没有它,ReplicaSet可能会在删除现有pod时创建新的pod。

要使用Namespace,需要在k8s命令中添加--namespace标志。

例如

kubectl create -f deployment.yaml --namespace=custom-namespace

您可以列出custom-namespace中的所有pod。

kubectl get pods --namespace=custom-namespace


4
投票

正如@Suresh Vishnoi指出的那样,使用命名空间是个好主意。如果您没有创建任何命名空间,则可能使用默认命名空间。除了使用yaml文件,您还可以使用kubectl create namespace my-namespace创建命名空间。

如果要使用kubectl delete删除当前命名空间中的所有内容:

kubectl delete all --all

要从命名空间中删除所有内容,请使用-n标志:

kubectl delete all --all -n {namespace}

您还可以删除命名空间。这将删除属于它的所有内容:

kubectl delete namespace {mynamespace}
© www.soinside.com 2019 - 2024. All rights reserved.