¿Por qué el pod no escribe datos?
Eventos de pod
El sistema de archivos del nodo donde se encuentra el pod está dañado. Como resultado, el pod recién creado no puede escribir datos en /var/lib/kubelet/device-plugins/.xxxxx. Pueden ocurrir eventos similares a los siguientes en el pod:
Message: Pod Update Plugin resources failed due to failed to write checkpoint file "kubelet_internal_checkpoint": open /var/lib/kubelet/device-plugins/.xxxxxx: read-only file system, which is unexpected.
Tales pods anormales se registran en eventos de error pero no ocupan recursos del sistema.
Procedimiento
Hay muchas causas para las excepciones del sistema de archivos, por ejemplo, el nodo principal físico se enciende o apaga inesperadamente. Si los sistemas de archivos no se restauran y un gran número de pods se vuelve anormal (lo que no afecta a los servicios), realice los siguientes pasos:
- Ejecute el comando kubectl drain <node-name> para marcar el nodo como no programado y desaloje los pods existentes a otros nodos.
kubectl drain <node-name>
- Localice la causa de la excepción del sistema de archivos y rectifique la falla.
- Ejecute el siguiente comando para hacer que el nodo sea programable:
kubectl uncordon <node-name>
Limpieza de los pod anormales
- El mecanismo de recolección de basura de kubelet es el mismo que el de la comunidad. Después de borrar el propietario (por ejemplo, Deployment) del pod, también se borra el pod anormal.
- Puede ejecutar el comando kubelet para eliminar el pod registrado como anormal.