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)
minikube delete --all
Run Code Online (Sandbox Code Playgroud)
如果您使用的是 minikube
它会让你启动一个新的干净集群。
如果你在 Kubernetes 上运行:
kubectl delete pods,deployments -A --all
Run Code Online (Sandbox Code Playgroud)
它将从所有命名空间中删除它,您可以在同一命令中添加更多对象。