Estoy tratando de eliminar/eliminar todos los pods que se ejecutan en mi entorno. cuando emito
ventana acoplable pd
Obtengo el siguiente resultado. Esta es una captura de pantalla de muestra. Como podéis ver, todos son K8. Me gustaría eliminar todos los pods/eliminarlos.
Intenté todos los enfoques a continuación, pero siguen apareciendo una y otra vez.
sudo kubectl delete --all pods --namespace=default/kube-public #returns "no resources found" for both default and kube-public namespaces sudo kubectl delete --all pods --namespace=kube-system # shows "pod xxx deleted" sudo kubectl get deployments # returns no resources found Además de lo anterior, también intenté usar docker stop y docker rm con los identificadores de contenedores, pero reaparecen. Quiero borrarlos todos. me gustaria empezar desde el principio
Me desconecté y volví a iniciar sesión varias veces, pero aún veo esos elementos.
¿Puede ayudarme a eliminar todos los pods y espero que la salida de "docker ps" no tenga ningún elemento relacionado con kubernetes como se muestra arriba?
sudo kubectl get deployments # returns no resources found
Deployments no son los únicos controladores en Kubernetes que pueden administrar sus pods. Hay muchos: StatefulSet , ReplicaSet , etc. (consulte el documento Controladores para obtener más detalles)
En resumen, un controlador es responsable de garantizar que todos los pods que administra se estén ejecutando y crearlos si es necesario. Cuando elimine todos los pods, el controlador asociado se dará cuenta de que faltan y simplemente los volverá a crear para asegurarse de que coincidan con sus especificaciones.
Si desea eliminar todos los pods de manera efectiva, debe eliminar todos los controladores relacionados (o actualizarlos para establecer su réplica en 0), como:
# do NOT run this in the kube-system namespace, it may corrupt your cluster # You can also specify --namespace xxx to delete in a specific namespace kubectl delete deployment --all # configures ReplicaSets, deleting Deployments should delete ReplicaSet as well as associated Pods kubectl delete statefulset --all kubectl delete daemonset --all kubectl delete job --all kubectl delete cronjob --all kubectl delete replicationcontroller --all # their should not be any ReplicationController as Deployment should be used # Then delete what you find EDITAR: como se menciona en las respuestas de P Emkambaram , también puede eliminar todo el espacio de nombres con kubectl delete namespace mynamespace (no elimine kube-system por supuesto), pero también puede eliminar otros componentes en el espacio de nombres, como Servicios
Notas importantes:
kube-system que están relacionados con las tuberías internas del propio clúster.docker , esto puede tener efectos inesperados, use kubectl en su lugar.no debe eliminar los pods del espacio de nombres del sistema kube. todos los pods principales de kubernetes se ejecutan en ese espacio de nombres. si estropea esos pods, es posible que su clúster no funcione.
en su lugar, elimine los espacios de nombres donde ejecuta las cargas de trabajo de su aplicación. eso limpiaría todos los recursos del espacio de nombres respectivo.