Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Sigue estos pasos para solucionar los distintos problemas que pueden ocurrir cuando ejecutas Kf.
Errores cuando se instala Kf
Error del servidor (solicitud incorrecta): El carácter no es válido
Si ves este error cuando configuras los valores predeterminados de configuración, es probable que el valor de la variable de entorno ${DOMAIN} que se usa en el comando incluya "$" de escape. Usa comillas simples para definir un dominio con un nombre de espacio o alguna 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 de los objetos de Kubernetes de Kf.
Busca el nombre del tipo de recurso de Kubernetes que deseas solucionar mediante la enumeración de todos los recursos de Kf:
Obtén la instancia del recurso con el que deseas solucionar problemas mediante kubectl.
Si el objeto no está en un espacio de nombres, omite la marca -n:
kubectl get apps.kf.dev my-app -n my-space -o yaml
Selecciona tu problema en las siguientes pestañas:
El objeto no se concilia
Comprueba el valor de metadata.generation. Este número aumenta
cada vez que se actualiza el objeto. Si el número es extremadamente alto, es
probable que dos controladores de Kubernetes se disputen el objeto. Verifica
tu clúster para ver si se está aplicando alguna política al objeto
que podría cambiar el estado deseado.
Verifica si se borra 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 existe,
es posible que el controlador aún no se haya ejecutado en el objeto. Verifica
que el clúster y los controladores estén en buen estado mediante kf doctor.
Verifica que el campo metadata.generation coincida con
el campo status.observedGeneration. Si no es así, valida que el
clúster y los controladores estén en buen estado mediante kf doctor.
Verifica si hay fallas en la lista status.conditions en función de esta lista de
motivos de error comunes:
NotOwned: Hay otro recurso que existe en el clúster o
el espacio de nombres como el que este objeto intenta crear. Lee el mensaje
para encontrar el nombre duplicado y cambiar el nombre del recurso en conflicto
o el objeto Kf.
TemplateError: Hay una configuración incorrecta en la especificación de
recursos Kf o la configuración Kf, lo que hace que el
recurso secundario se concilie de forma incorrecta. Valida la configuración del
objeto Kf y el espacio
de Kf.
CacheOutdated: El controlador Kf no recibe
actualizaciones de Kubernetes lo suficientemente rápido. Comprueba el estado del clúster de
Kubernetes.
ReconciliationError: El controlador de Kf no puede crear el recurso secundario necesario. Verifica que tu clúster esté en buen estado, que Kf se está ejecutando y que no haya ninguna política que impida que Kf cree el objeto al que se hace referencia en el mensaje.
El objeto no se borra
Comprueba que se configuró el metadata.deletionTimestamp del objeto. Si no se configuró, la eliminación solicitada no funcionó.
Comprueba que el metadata.deletionTimestamp del objeto esté en el pasado. Si está en el futuro, es posible que el objeto no se borre.
Comprueba si existe una lista metadata.finalizers en el objeto. Si los finalizadores están
presentes, el objeto debe esperar a que se quiten antes de que se
borre. Si deseas forzar una eliminación sin esperar a los
finalizadores, edita el objeto para quitarlos.
Pueden existir objetos secundarios que impidan que se borre el objeto. Pídele a un administrador que revise todos los objetos en el espacio de nombres y el clúster para comprobar si alguno se debe borrar de forma manual primero.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Difícil de entender","hardToUnderstand","thumb-down"],["Información o código de muestra incorrectos","incorrectInformationOrSampleCode","thumb-down"],["Faltan la información o los ejemplos que necesito","missingTheInformationSamplesINeed","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-09-04 (UTC)"],[],[],null,["# Troubleshoot Kf\n\nUse these steps to troubleshoot various issues that can occur when running Kf.\n\n\u003cbr /\u003e\n\nFailures when installing Kf\n---------------------------\n\n### Error from server (Bad Request): Invalid character\n\nIf you see this error when setting config defaults, it is likely the value of the `${DOMAIN}` env var used in the command includes an escaped '$'. Use single quotes to define a domain with a space name or other substitution: \n\n Error from server (BadRequest): invalid character '$' in string escape code\n\nErrors with Kf Kubernetes objects\n---------------------------------\n\nFollow these instructions to troubleshoot Kf Kubernetes\nobjects.\n\n1. Find the name of the Kubernetes resource type you want to troubleshoot by\n listing all Kf resources:\n\n kubectl api-resources --api-group=kf.dev\n\n Example output: \n\n NAME SHORTNAMES APIGROUP NAMESPACED KIND\n apps kf.dev true App\n builds kf.dev true Build\n clusterservicebrokers kf.dev false ClusterServiceBroker\n routes kf.dev true Route\n servicebrokers kf.dev true ServiceBroker\n serviceinstancebindings kf.dev true ServiceInstanceBinding\n serviceinstances kf.dev true ServiceInstance\n spaces kf.dev false Space\n\n2. Get the instance of the resource you want to troubleshoot using `kubectl`.\n If the object isn't in a namespace, omit the `-n` flag:\n\n kubectl get \u003cvar translate=\"no\"\u003eapi-resource-name\u003c/var\u003e.kf.dev \u003cvar translate=\"no\"\u003eobject-name\u003c/var\u003e -n \u003cvar translate=\"no\"\u003espace-name\u003c/var\u003e -o yaml\n\n For example: \n\n kubectl get apps.kf.dev my-app -n my-space -o yaml\n\n3. Select your problem from the tabs below:\n\n ### Object isn't reconciling\n\n 1. Check the value of `metadata.generation`. This number is incremented each time the object is updated. If the number is extremely high it's likely two Kubernetes controllers are fighting over the object. Check your cluster to see if any policies are being applied to the object which might be changing it from the desired state.\n 2. Check to see if the namespace the object belongs to is deleting. If it is, the object may not be reconciled.\n 3. Check that the `status.observedGeneration` field exists. If it doesn't, the controller might not have executed against the object yet. Validate that the cluster and controllers are healthy using `kf doctor`.\n 4. Check that the `metadata.generation` field matches the `status.observedGeneration` field. If it doesn't, validate that the cluster and controllers are healthy using `kf doctor`.\n 5. Check for failures in the `status.conditions` list against this list of common error reasons:\n\n - `NotOwned`: There is another resource that exists in the cluster or namespace as the one this object is trying to create. Read the message to find the duplicate name and either rename the conflicting resource or the Kf object.\n - `TemplateError`: There is a misconfiguration in the Kf resource spec or Kf configuration causing the child resource to be incorrectly reconciled. Validate the settings of the Kf object and the Kf space.\n - `CacheOutdated`: The Kf controller isn't receiving updates from Kubernetes fast enough. Check the health of the Kubernetes cluster.\n - `ReconciliationError`: The Kf controller can't create the necessary child resource. Check to make sure your cluster is healthy, Kf is running, and that there are no policies being enforced that are preventing Kf from creating the object referenced in the message.\n\n ### Object isn't deleting\n\n 1. Check that the `metadata.deletionTimestamp` of the object was set. If it wasn't set, then the requested deletion didn't work.\n 2. Check that the `metadata.deletionTimestamp` of the object is in the past. If it's in the future, the object may not delete.\n 3. Check if a `metadata.finalizers` list exists on the object. If finalizers are present, the object must wait for them to be removed before it is deleted. If you want to force a deletion without waiting for the finalizers, edit the object to remove them.\n 4. Child objects may exist that are preventing the object from being deleted. Have an administrator check all objects in the namespace and cluster to see if one of them needs to be manually deleted first."]]