Errores al instalar Kf
Error del servidor (solicitud incorrecta): carácter no válido
Si ves este error al definir los valores predeterminados de la configuración, es probable que el valor de la variable de entorno ${DOMAIN}
que se usa en el comando incluya un carácter "$" de escape. Usa comillas simples para definir un dominio con un nombre de espacio u otra sustitución:
Error from server (BadRequest): invalid character '$' in string escape code
Errores con objetos de Kubernetes de Kf
Sigue estas instrucciones para solucionar problemas con objetos de Kubernetes de Kf.
Busca el nombre del tipo de recurso de Kubernetes que quieras solucionar enumerando todos los recursos de Kf:
kubectl api-resources --api-group=kf.dev
Ejemplo:
NAME SHORTNAMES APIGROUP NAMESPACED KIND apps kf.dev true App builds kf.dev true Build clusterservicebrokers kf.dev false ClusterServiceBroker routes kf.dev true Route servicebrokers kf.dev true ServiceBroker serviceinstancebindings kf.dev true ServiceInstanceBinding serviceinstances kf.dev true ServiceInstance spaces kf.dev false Space
Obtén la instancia del recurso que quieras solucionar con
kubectl
. Si el objeto no está en un espacio de nombres, omite la marca-n
:kubectl get api-resource-name.kf.dev object-name -n space-name -o yaml
Por ejemplo:
kubectl get apps.kf.dev my-app -n my-space -o yaml
Selecciona tu problema en las pestañas que aparecen a continuación:
El objeto no se reconcilia
- Comprueba el valor de
metadata.generation
. Este número se incrementa cada vez que se actualiza el objeto. Si el número es extremadamente alto, es probable que dos controladores de Kubernetes estén compitiendo por el objeto. Comprueba tu clúster para ver si se aplican políticas al objeto que puedan cambiarlo del estado deseado. - Comprueba si se está eliminando el espacio de nombres al que pertenece el objeto. Si es así, es posible que el objeto no se concilie.
- Comprueba que el campo
status.observedGeneration
exista. Si no es así, es posible que el controlador aún no se haya ejecutado en el objeto. Valida que el clúster y los controladores estén en buen estado conkf doctor
. - Comprueba que el campo
metadata.generation
coincida con el campostatus.observedGeneration
. Si no es así, valida que el clúster y los controladores estén en buen estado conkf doctor
. - Comprueba si hay fallos en la lista
status.conditions
comparándola con esta lista de motivos de errores habituales:
NotOwned
: hay otro recurso en el clúster o en el espacio de nombres que el objeto está intentando crear. Lee el mensaje para encontrar el nombre duplicado y cambia el nombre del recurso en conflicto o del objeto Kf.TemplateError
: Hay un error de configuración en la especificación de recursos de Kf o en la configuración de Kf que provoca que el recurso secundario se reconcilie de forma incorrecta. Valida los ajustes del objeto Kf y el espacio Kf.CacheOutdated
: El controlador de Kf no recibe actualizaciones de Kubernetes con la suficiente rapidez. Comprueba el estado del clúster de Kubernetes.ReconciliationError
: el controlador Kf no puede crear el recurso secundario necesario. Comprueba que tu clúster esté en buen estado, que Kf se esté ejecutando y que no se apliquen políticas que impidan que Kf cree el objeto al que se hace referencia en el mensaje.
No se elimina el objeto
- Comprueba que se haya definido el
metadata.deletionTimestamp
del objeto. Si no se ha definido, la eliminación solicitada no ha funcionado. - Comprueba que el
metadata.deletionTimestamp
del objeto sea anterior a la fecha actual. Si es en el futuro, es posible que el objeto no se elimine. - Comprueba si hay una lista
metadata.finalizers
en el objeto. Si hay finalizadores, el objeto debe esperar a que se eliminen antes de eliminarse. Si quieres forzar la eliminación sin esperar a los finalizadores, edita el objeto para quitarlos. - Puede que haya objetos secundarios que impidan que se elimine el objeto. Pide a un administrador que compruebe todos los objetos del espacio de nombres y del clúster para ver si es necesario eliminar alguno de ellos manualmente.
- Comprueba el valor de