Führen Sie folgende Schritte aus, um verschiedene Probleme zu beheben, die bei der Verwendung von Kf Apps auftreten können.
Objekt hängt im Löschvorgang fest
Führen Sie den folgenden Befehl aus, um die Ressourceninformationen abzurufen, und prüfen Sie dann auf die unten aufgeführten Gründe:
kubectl get apps.kf.dev -n SPACE_NAME APP_NAME -o yaml
Mit der kf
-Befehlszeile können Sie auf einige der Probleme prüfen:
kf doctor --space SPACE_NAME app/APP_NAME
Mögliche Ursache | Lösung |
---|---|
Der Löschzeitstempel liegt in der Zukunft. |
Bei zeitlicher Abweichung kann |
Auf dem Objekt gibt es Finalizer. |
Auf dem Objekt sind Finalizer vorhanden und müssen vor dem Löschen des Objekts von dem Controller entfernt werden, der sie festgelegt hat. Wenn Sie einen Löschvorgang erzwingen möchten, ohne auf die Finalizer zu warten, bearbeiten Sie das Objekt, um sie aus dem Warnung: Wenn Sie Finalizer entfernen, ohne den Controllern den Abschluss des Vorgangs zuzulassen, kann dies zu Fehlern, Sicherheitsproblemen, Datenverlusten oder verwaisten Ressourcen führen. |
Abhängige Objekte können vorhanden sein. |
Das Objekt wartet möglicherweise darauf, dass abhängige Objekte gelöscht werden, bevor es gelöscht wird. Weitere Informationen finden Sie im Kubernetes-Leitfaden zur automatischen Speicherbereinigung. Ein Administrator muss alle Objekte im Namespace und Cluster darauf untersuchen, ob eines davon das Löschen blockiert. Wenn Sie das Objekt ohne Rücksicht auf Abhängigkeiten entfernen möchten, verwenden Sie |
Generierungszustandsabweichung bei Objekt
Führen Sie den folgenden Befehl aus, um die Ressourceninformationen abzurufen, und prüfen Sie dann auf die unten aufgeführten Gründe:
kubectl get apps.kf.dev -n SPACE_NAME APP_NAME -o yaml
Mit der kf
-Befehlszeile können Sie auf einige der Probleme prüfen:
kf doctor --space SPACE_NAME app/APP_NAME
Mögliche Ursache | Lösung |
---|---|
Objekt hat Generierungsversionsabweichung. |
Dieser Fehler tritt normalerweise auf, wenn der Kf-Controller die neueste Version des Objekts nicht gelesen hat. Dieser Fehler wird normalerweise automatisch behoben, wenn die Kubernetes-Replikate Eventual Consistency erreichen, und erfordert in der Regel keine Aktion von Nutzern. |
Objektabgleich fehlgeschlagen
Führen Sie den folgenden Befehl aus, um die Ressourceninformationen abzurufen, und prüfen Sie dann auf die unten aufgeführten Gründe:
kubectl get apps.kf.dev -n SPACE_NAME APP_NAME -o yaml
Mit der kf
-Befehlszeile können Sie auf einige der Probleme prüfen:
kf doctor --space SPACE_NAME app/APP_NAME
Mögliche Ursache | Lösung |
---|---|
Objekt hat TemplateError |
Dieser Fehler tritt normalerweise auf, wenn der Nutzer in der benutzerdefinierten Ressourcen-Spezifikation ein ungültiges Attribut eingegeben hat oder die Konfiguration im Bereich/Cluster fehlerhaft ist. Um die Ursache zu verstehen, kann der Nutzer die längere Fehlermeldung in den |
Objekt hat einen Fehler "ChildNotOwned" (Namenskonflikte) |
Dieser Fehler bedeutet normalerweise, dass die Objekte, die der Controller zu erstellen versucht, bereits vorhanden sind. Dies ist der Fall, wenn der Nutzer eine K8s-Ressource erstellt hat, die mit dem Namen dessen übereinstimmt, was der Controller zu erstellen versucht. Häufiger tritt dies jedoch auf, wenn der Nutzer eine Ressource löscht und der Kf-Controller dann versucht, sie neu zu erstellen. Wenn noch eine untergeordnete Ressource vorhanden ist, ist ihr Inhaber die alte Ressource, die nicht mehr vorhanden ist. Zur Behebung des Fehlers sollte der Nutzer die betroffene Ressource löschen und dann neu erstellen. Verwenden Sie zum Löschen des Objekts einen Kf-Löschbefehl oder den Befehl Verwenden Sie zum Neuerstellen einer Ressource einen Kf-Befehl. Beispiel: |
Objekt hat ReconciliationError |
Dieser Fehler weist in der Regel darauf hin, dass beim HTTP-Aufruf des Kubernetes API-Servers (durch den Kf-Controller) zum Erstellen oder Aktualisieren einer Ressource ein Fehler aufgetreten ist. Um die Ursache zu verstehen, kann der Nutzer die längere Fehlermeldung in den |