web stats
Featured image of post Forzar el borrado de recursos en Kubernetes

Forzar el borrado de recursos en Kubernetes

Cómo poder borrar recursos dentro de kubernetes que se han quedado en estado Pending.

A veces, al borrar recursos (pods, jobs, pvc, etc) en Kubernetes, mediante kubectl delete, estos se quedan en estado “stucked” y nunca llega a finalizar su borrado.

Podemos forzar el borrado de estos elementos editándolos manualmente, y borrando la parte de finalizers.

Los Finalizers son claves que le indican a la API de Kubernetes que quedan recursos por eliminar o por limpiar (dependencias) antes de que se elimine este recurso en particular.

Por ejemplo, de esta situación inicial, con kubectl edit:

1
2
3
4
metadata:
  annotations:
  finalizers:
  - zookeeper.finalizers.platform.confluent.io

Pasaríamos a esta:

1
2
3
metadata:
  annotations:
  finalizers: []

Otra manera más radical, para borrar todos los elementos de un mismo tipo mediante CLI, sería:

1
2
3
4
for job in $(kubectl --namespace sandbox get jobs --no-headers | awk '{print $1}'); \
  do kubectl --namespace sandbox patch job $job --patch '{"metadata":{"finalizers":[]}}' \
  --type=merge; \
  done
comments powered by Disqus
Creado con Hugo-Extended & theme Stack