Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Führen Sie die folgenden Schritte aus, um verschiedene Probleme zu beheben, die bei der Ausführung von Kf auftreten können.
Fehler bei der Installation von Kf
Error from server (Bad Request): Invalid character
Wenn dieser Fehler beim Festlegen der Standardeinstellungen für die Konfiguration angezeigt wird, enthält der Wert der im Befehl verwendete Umgebungsvariablen ${DOMAIN} wahrscheinlich das Escapezeichen „$“. Verwenden Sie einfache Anführungszeichen, um eine Domain mit einem Bereichsnamen oder einer anderen Ersetzung zu definieren:
Error from server (BadRequest): invalid character '$' in string escape code
Fehler mit Kubernetes-Objekten
Folgen Sie dieser Anleitung, um Probleme mit Kf Kubernetes-Objekten zu beheben.
Suchen Sie nach dem Namen des Kubernetes-Ressourcentyps, den Sie beheben möchten. Listen Sie dazu alle Kf-Ressourcen auf:
Rufen Sie die Instanz der Ressource, für die Sie Fehler beheben möchten, mit kubectl ab.
Wenn sich das Objekt nicht in einem Namespace befindet, lassen Sie das Flag -n weg:
kubectl get apps.kf.dev my-app -n my-space -o yaml
Wählen Sie Ihr Problem aus den Tabs unten aus:
Objekt wird nicht abgeglichen
Prüfen Sie den Wert von metadata.generation. Diese Nummer wird bei jeder Aktualisierung des Objekts erhöht. Wenn die Zahl extrem hoch ist, haben zwei Kubernetes-Controller wahrscheinlich das Objekt. Prüfen Sie, ob in Ihrem Cluster Richtlinien zum Objekt angewendet werden, die es vom gewünschten Status ändern könnten.
Prüfen Sie, ob der Namespace, zu dem das Objekt gehört, gelöscht wird. Ist dies der Fall, kann das Objekt nicht abgeglichen werden.
Prüfen Sie, ob das Feld status.observedGeneration vorhanden ist. Ist dies nicht der Fall, wurde der Controller möglicherweise noch nicht für das Objekt ausgeführt. Prüfen Sie mit kf doctor, ob der Cluster und die Controller fehlerfrei sind.
Prüfen Sie, ob das Feld metadata.generation mit dem Feld status.observedGeneration übereinstimmt. Falls nicht, prüfen Sie, ob der Cluster und die Controller fehlerfrei sind. Verwenden Sie dazu kf doctor.
Suchen Sie in der status.conditions-Liste nach Fehlern in der Liste der häufigsten Fehlerursachen:
NotOwned: Im Cluster oder Namespace gibt es eine andere Ressource, mit der dieses Objekt erstellt wird. Lesen Sie die Nachricht, um den doppelten Namen zu ermitteln, und benennen Sie entweder die in Konflikt stehende Ressource oder das Kf-Objekt.
TemplateError: Es liegt eine Fehlkonfiguration in der Kf-Ressourcenspezifikation oder Kf-Konfiguration vor, die dazu führt, dass die untergeordnete Ressource nicht korrekt abgeglichen wird. Überprüfen Sie die Einstellungen des Kf-Objekts und des Kf-Speicherplatzes.
CacheOutdated: Der Kf-Controller erhält Aktualisierungen von Kubernetes nicht schnell genug. Integrität des Kubernetes-Clusters überprüfen.
ReconciliationError: Der Kf-Controller kann die erforderliche untergeordnete Ressource nicht erstellen. Prüfen Sie, ob Ihr Cluster fehlerfrei ist, Kf ausgeführt wird und dass keine Richtlinien erzwungen werden, die verhindern, dass Kf das in der Nachricht referenzierte Objekt erstellt.
Objekt wird nicht gelöscht
Prüfen Sie, ob der metadata.deletionTimestamp des Objekts festgelegt wurde. Wenn es nicht festgelegt wurde, funktioniert der angeforderte Löschvorgang nicht.
Prüfen Sie, ob der metadata.deletionTimestamp des Objekts in der Vergangenheit liegt. Wenn er in Zukunft liegt, wird das Objekt möglicherweise nicht gelöscht.
Prüfen Sie, ob eine metadata.finalizers-Liste für das Objekt vorhanden ist. Wenn Finalizer vorhanden sind, muss das Objekt warten, bis sie entfernt werden, bevor es gelöscht wird. Wenn Sie ein Löschen erzwingen möchten, ohne auf die Finalizer zu warten, bearbeiten Sie das Objekt, um sie zu entfernen.
Unter Umständen sind untergeordnete Objekte vorhanden, die das Löschen des Objekts verhindern. Lassen Sie einen Administrator alle Objekte im Namespace und Cluster prüfen, um festzustellen, ob eines davon zuerst manuell gelöscht werden muss.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-08-31 (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."]]