删除kubernetes节点中的所有内容

Muf*_*eed 14 replication containers kubernetes

如何从kubernetes节点删除所有内容?
内容包括部署,副本集等.我试图单独删除deplyoments.但kubrenetes再次重现了所有豆荚.
有没有办法删除节点中存在的所有副本集?

Jos*_*sto 23

如果你正在测试的东西,最简单的方法就是

kubectl delete deployment --all
Run Code Online (Sandbox Code Playgroud)

如果你使用minikube,最简单的可能是删除机器并重新启动一个新的节点

minikube delete
minikube start
Run Code Online (Sandbox Code Playgroud)

如果我们讨论的是生产集群,Kubernetes有一个内置功能来排空集群的节点,安全地从该节点中删除所有对象.

kubectl drain在对节点执行维护之前,可以使用从节点安全地逐出所有pod.安全驱逐允许pod的容器优雅地终止并且将遵守您指定的PodDisruptionBudgets.

注意:默认情况下,kubectl drain将忽略节点上无法杀死的某些系统窗格; 有关更多详细信息,请参阅kubectl drain文档.

kubectl drain成功返回时,表示所有pod(除了前一段中所述排除的那些)已被安全驱逐(尊重所需的正常终止期,并且不违反任何应用程序级别的中断SLO).然后通过关闭其物理机器来关闭节点是安全的,或者如果在云平台上运行,则删除其虚拟机.

首先,确定要排空的节点的名称.您可以列出群集中的所有节点

kubectl get nodes
Run Code Online (Sandbox Code Playgroud)

接下来,告诉Kubernetes排空节点:

kubectl drain <node name>
Run Code Online (Sandbox Code Playgroud)

一旦它返回(没有给出错误),您可以关闭节点(或者等效地,如果在云平台上,删除支持节点的虚拟机).drain等待优雅的终止.在命令完成之前,您不应在机器上操作.

如果在维护操作期间将节点保留在群集中,则需要运行

kubectl uncordon <node name>
Run Code Online (Sandbox Code Playgroud)

之后告诉Kubernetes它可以恢复将新pod安排到节点上.

请注意,如果有任何不受ReplicationController,ReplicaSet,DaemonSet,StatefulSet或Job管理的pod,则drain除非使用--force,否则不会删除任何pod,如文档中所述.

kubectl drain <node name> --force
Run Code Online (Sandbox Code Playgroud)


Ram*_*sey 5

minikube delete --all 
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 minikube

它会让你启动一个新的干净集群。


如果你在 Kubernetes 上运行:

kubectl delete pods,deployments -A --all
Run Code Online (Sandbox Code Playgroud)

它将从所有命名空间中删除它,您可以在同一命令中添加更多对象。