Sigue estos pasos para solucionar varios problemas que pueden producirse al usar las aplicaciones de Kf.
El objeto no se elimina
Ejecuta el siguiente comando para obtener la información del recurso y, a continuación, comprueba si se debe a alguna de las causas que se indican a continuación:
kubectl get apps.kf.dev -n SPACE_NAME APP_NAME -o yaml
La CLI de kf
puede ayudarte a comprobar algunos de los problemas:
kf doctor --space SPACE_NAME app/APP_NAME
Causa posible | Solución |
---|---|
La marca de tiempo de eliminación es futura. |
Con la desviación del reloj, el |
Hay finalizadores en el objeto. |
Los finalizadores están presentes en el objeto y el controlador que los ha definido debe eliminarlos antes de que se elimine el objeto. Si quieres forzar la eliminación sin esperar a los finalizadores, edita el objeto para quitarlos de la matriz Advertencia: Si quitas finalizadores sin permitir que los controladores se completen, pueden producirse errores, problemas de seguridad, pérdida de datos o recursos huérfanos. |
Puede haber objetos dependientes. |
Es posible que el objeto esté esperando a que se eliminen los elementos dependientes antes de eliminarse. Consulta la guía de recolección de elementos no utilizados de Kubernetes para obtener más información. Pide a un administrador que compruebe todos los objetos del espacio de nombres y del clúster para ver si alguno de ellos impide la eliminación. Si necesitas quitar el objeto sin esperar a los elementos dependientes, usa |
Desviación del estado de generación de objetos
Ejecuta el siguiente comando para obtener la información del recurso y, a continuación, comprueba si se debe a alguna de las causas que se indican a continuación:
kubectl get apps.kf.dev -n SPACE_NAME APP_NAME -o yaml
La CLI de kf
puede ayudarte a comprobar algunos de los problemas:
kf doctor --space SPACE_NAME app/APP_NAME
Causa posible | Solución |
---|---|
El objeto tiene una diferencia en la versión de generación. |
Este error suele producirse cuando el controlador Kf no ha leído la última versión del objeto. Normalmente, se corrige solo cuando las réplicas de Kubernetes alcanzan la coherencia final y no suele requerir ninguna acción por parte de los usuarios. |
No se ha podido conciliar el objeto
Ejecuta el siguiente comando para obtener la información del recurso y, a continuación, comprueba si se debe a alguna de las causas que se indican a continuación:
kubectl get apps.kf.dev -n SPACE_NAME APP_NAME -o yaml
La CLI de kf
puede ayudarte a comprobar algunos de los problemas:
kf doctor --space SPACE_NAME app/APP_NAME
Causa posible | Solución |
---|---|
Object has TemplateError |
Este error suele producirse si el usuario ha introducido una propiedad no válida en el recurso personalizado Spec o si la configuración del espacio o del clúster es incorrecta. Para conocer la causa principal, el usuario puede leer el mensaje de error más largo en el objeto |
El objeto tiene un error ChildNotOwned (conflictos de nombres) |
Este error suele indicar que los objetos que el controlador intenta crear ya existen. Esto ocurre si el usuario ha creado un recurso de K8s que tiene el mismo nombre que el que intenta crear el controlador, pero suele ocurrir más a menudo si el usuario elimina un recurso y el controlador de Kf intenta volver a crearlo. Si un recurso secundario sigue activo, su propietario será el recurso antiguo que ya no existe. Para recuperarse del error, se recomienda que el usuario elimine el recurso afectado y, a continuación, lo vuelva a crear. Para eliminar el objeto, usa un comando de eliminación de Kf o el comando Para volver a crear un recurso, usa un comando de Kf. Por ejemplo: |
Object has ReconciliationError |
Este error suele indicar que se ha producido un problema con la llamada HTTP realizada (por el controlador de Kf) al servidor de la API de Kubernetes para crear o actualizar un recurso. Para conocer la causa principal, el usuario puede leer el mensaje de error más largo en el objeto |