[*]kubectl delete –all pods –namespace=foo
Solución:
No hay ningún comando para hacer exactamente lo que pidió.
Aquí hay algunas coincidencias cercanas.
Puede eliminar todos los pods en un solo espacio de nombres con este comando:
[*]kubectl delete --all pods --namespace=foo
También puede eliminar todas las implementaciones en el espacio de nombres, lo que eliminará todos los pods adjuntos con las implementaciones correspondientes al espacio de nombres.
[*]kubectl delete --all deployments --namespace=foo
Puede eliminar todos los espacios de nombres y todos los objetos en cada espacio de nombres (pero no los objetos sin espacio de nombres, como los nodos y algunos eventos) con este comando:
[*]kubectl delete --all namespaces
Sin embargo, el último comando probablemente no sea algo que desee hacer, ya que eliminará cosas en el espacio de nombres del sistema kube, lo que hará que su clúster no se pueda utilizar.
Este comando eliminará todos los espacios de nombres excepto kube-system, que puede ser útil:
[*]for each in $(kubectl get ns -o jsonpath="{.items[*].metadata.name}" | grep -v kube-system); do kubectl delete ns $each done
[*]kubectl delete daemonsets,replicasets,services,deployments,pods,rc --all
para deshacerse de esos molestos controladores de replicación también.
Simplemente puedes correr
[*]kubectl delete all --all --all-namespaces
-
El primero [*]all significa los tipos de recursos comunes (pods, conjuntos de réplicas, implementaciones, …)
- [*]kubectl get all == kubectl get pods,rs,deployments, …
-
El segundo [*]–all significa seleccionar todos los recursos de los tipos seleccionados
Tenga en cuenta que [*]all no incluye:
- recursos sin espacio de nombres (p. ej., enlaces de roles de clúster, roles de clúster, …)
- configmaps
- ataduras de roles
- roles
- misterios
- …
Para limpiar perfectamente,
- podría utilizar otras herramientas (por ejemplo, Helm, Kustomize, …)
- podría utilizar un espacio de nombres.
- podría utilizar etiquetas cuando cree recursos.