Risoluzione dei problemi relativi a Kf ServiceBrokers

Segui questa procedura per risolvere i vari problemi che possono verificarsi quando utilizzi Kf ServiceBrokers.

Eliminazione dell'oggetto bloccata

Esegui questo comando per ottenere le informazioni sulle risorse, quindi verifica le cause elencate di seguito:

kubectl get servicebrokers.kf.dev -n SPACE_NAME SERVICEBROKER_NAME -o yaml

L'interfaccia a riga di comando kf può aiutarti a verificare alcuni dei problemi:

kf doctor --space SPACE_NAME servicebroker/SERVICEBROKER_NAME
Possibile causaSoluzione
Il timestamp dell'eliminazione è nel futuro.

A causa di un'inclinazione dell'orologio, metadata.deletionTimestamp potrebbe essere ancora nel futuro. Attendi qualche minuto per vedere se l'oggetto è stato eliminato.

I Finalizzatori esistono nell'oggetto.

I Finalizzatori sono presenti nell'oggetto e devono essere rimossi dal controller che li imposta prima che l'oggetto venga eliminato.

Se vuoi forzare l'eliminazione senza attendere i finalizzatori, modifica l'oggetto per rimuoverli dall'array metadata.finalizers.

Avviso: la rimozione dei finalizzatori senza consentire il completamento dei controller potrebbe causare errori, problemi di sicurezza, perdita di dati o risorse orfane.

Potrebbero esistere oggetti dipendenti.

L'oggetto potrebbe essere in attesa che i dipendenti vengano eliminati prima di essere eliminato. Per saperne di più, consulta la guida alla garbage collection Kubernetes. Chiedi a un amministratore di controllare tutti gli oggetti nello spazio dei nomi e nel cluster per verificare se uno di essi blocca l'eliminazione.

Se devi rimuovere l'oggetto senza attendere i dipendenti, utilizza kubectl delete con il flag a cascata impostato su --cascade=orphan.

Deviazione dello stato di generazione degli oggetti

Esegui questo comando per ottenere le informazioni sulle risorse, quindi verifica le cause elencate di seguito:

kubectl get servicebrokers.kf.dev -n SPACE_NAME SERVICEBROKER_NAME -o yaml

L'interfaccia a riga di comando kf può aiutarti a verificare alcuni dei problemi:

kf doctor --space SPACE_NAME servicebroker/SERVICEBROKER_NAME
Possibile causaSoluzione
L'oggetto presenta una deviazione della versione di generazione.

In genere questo errore si verifica quando il controller Kf non ha letto l'ultima versione dell'oggetto. Questo errore di solito viene ripristinato automaticamente una volta che le repliche di Kubernetes raggiungono la coerenza finale e di solito non richiede l'intervento degli utenti.

Riconciliazione degli oggetti non riuscita

Esegui questo comando per ottenere le informazioni sulle risorse, quindi verifica le cause elencate di seguito:

kubectl get servicebrokers.kf.dev -n SPACE_NAME SERVICEBROKER_NAME -o yaml

L'interfaccia a riga di comando kf può aiutarti a verificare alcuni dei problemi:

kf doctor --space SPACE_NAME servicebroker/SERVICEBROKER_NAME
Possibile causaSoluzione
L'oggetto presenta TemplateError

Questo errore si verifica in genere se l'utente ha inserito una proprietà non valida nella Specifica delle risorse personalizzate o se la configurazione nello spazio/cluster non è valida.

Per comprenderne la causa principale, l'utente può leggere il messaggio di errore più lungo nella status.conditions dell'oggetto utilizzando il comando:kubectl describe RESOURCE_TYPE RESOURCE_NAME -n space. Ad esempio: kubectl describe serviceinstance my-service -n my-space.

L'oggetto presenta un errore ChildNotOwned (conflitti di nomi)

Questo errore di solito indica che gli oggetti che il controller sta cercando di creare esistono già. Questo accade se l'utente ha creato una risorsa K8s con lo stesso nome di quello che il controller sta cercando di creare; più spesso, se l'utente elimina una risorsa, il controller Kf prova a ricrearla. Se una risorsa figlio non è ancora disponibile, il proprietario sarà la risorsa precedente non più esistente.

Per ripristinare l'errore, si consiglia che l'utente elimini la risorsa interessata e poi la ricrea. Per eliminare l'oggetto, utilizza un comando di eliminazione Kf o il comando kubectl delete RESOURCE_TYPE RESOURCE_NAME -n SPACE. Ad esempio, kf delete-space my-space o kubectl delete space my-space.

Per ricreare una risorsa, utilizza un comando Kf. Ad esempio: kf create-space my-space.

L'oggetto presenta ReconciliationError

Questo errore di solito indica che si è verificato un problema con la chiamata HTTP effettuata (dal controller Kf) al servizio API Kubernetes per creare/aggiornare la risorsa.

Per comprenderne la causa principale, l'utente può leggere il messaggio di errore più lungo nella status.conditions dell'oggetto utilizzando il comando:kubectl describe RESOURCE_TYPE RESOURCE_NAME -n space. Ad esempio: kubectl describe serviceinstance my-service -n my-space.