Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Suivez cette procédure pour résoudre divers problèmes qui peuvent survenir lors de l'exécution de Kf.
Échecs lors de l'installation de Kf
Erreur du serveur (requête incorrecte) : caractère non valide
Si vous voyez ce message d'erreur lors de la définition des valeurs de configuration par défaut, il est probable que la valeur de la variable d'environnement ${DOMAIN} utilisée dans la commande inclut un '$' échappé. Utilisez des guillemets simples pour définir un domaine avec un nom d'espace ou une autre substitution :
Error from server (BadRequest): invalid character '$' in string escape code
Erreurs avec des objets Kubernetes Kf
Suivez ces instructions pour résoudre les problèmes liés aux objets Kubernetes Kf.
Recherchez le nom du type de ressource Kubernetes dont vous souhaitez résoudre les problèmes en répertoriant toutes les ressources Kf :
Obtenez l'instance de la ressource dont vous souhaitez résoudre les problèmes à l'aide de kubectl.
Si l'objet ne se trouve pas dans un espace de noms, omettez l'option -n :
kubectl get apps.kf.dev my-app -n my-space -o yaml
Sélectionnez votre problème dans les onglets ci-dessous :
L'objet n'est pas en cours de rapprochement
Vérifiez la valeur de metadata.generation. Ce nombre est incrémenté à chaque mise à jour de l'objet. Si le nombre est extrêmement élevé, il est probable que deux contrôleurs Kubernetes soient en conflit sur l'objet. Vérifiez votre cluster pour déterminer si des règles sont appliquées à l'objet afin qu'il passe à l'état souhaité.
Vérifiez si l'espace de noms auquel l'objet appartient est en cours de suppression. Si c'est le cas, l'objet risque de ne pas être rapproché.
Vérifiez que le champ status.observedGeneration existe. S'il n'existe pas, il se peut que le contrôleur n'ait pas encore été exécuté sur l'objet. Vérifiez que le cluster et les contrôleurs sont opérationnels à l'aide de kf doctor.
Vérifiez que le champ metadata.generation correspond au champ status.observedGeneration. Si ce n'est pas le cas, vérifiez que le cluster et les contrôleurs sont opérationnels à l'aide de kf doctor.
Recherchez les échecs dans la liste status.conditions par rapport à la liste des motifs d'erreurs fréquentes suivante :
NotOwned : Il existe une autre ressource dans le cluster ou l'espace de noms identique à celle que cet objet tente de créer. Lisez le message pour trouver le nom en double, et renommez la ressource en conflit ou l'objet Kf.
TemplateError : La spécification de la ressource Kf ou la configuration Kf comportent une erreur de configuration qui entraîne un rapprochement incorrect de la ressource enfant. Validez les paramètres de l'objet Kf et de l'espace Kf.
CacheOutdated : Le contrôleur Kf ne reçoit pas assez rapidement les mises à jour de Kubernetes. Vérifiez l'état du cluster Kubernetes.
ReconciliationError : Le contrôleur Kf ne peut pas créer la ressource enfant nécessaire. Assurez-vous que votre cluster est opérationnel, que Kf est en cours d'exécution et qu'aucune règle appliquée n'empêche Kf de créer l'objet référencé dans le message.
L'objet n'est pas en cours de suppression
Vérifiez que le champ metadata.deletionTimestamp de l'objet a été défini. Si ce n'est pas le cas, la suppression demandée n'a pas fonctionné.
Vérifiez que la valeur metadata.deletionTimestamp de l'objet est antérieure au moment actuel. Si elle est postérieure, il est possible que l'objet ne puisse pas être supprimé.
Vérifiez si une liste metadata.finalizers existe sur l'objet. Si des finaliseurs sont présents, l'objet doit attendre leur suppression avant d'être supprimé. Si vous souhaitez forcer la suppression sans attendre les finaliseurs, modifiez l'objet pour les supprimer.
Il existe des objets enfants qui empêchent la suppression de l'objet. Demandez à un administrateur de vérifier tous les objets de l'espace de noms et du cluster pour déterminer si l'un d'entre eux doit d'abord être supprimé manuellement.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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."]]