In che modo posso risolvere i problemi relativi agli spazi dei nomi nello stato arrestato nel cluster Amazon EKS?

2 minuti di lettura
0

Ho provato a eliminare uno spazio dei nomi nel cluster Amazon Elastic Kubernetes Service (Amazon EKS). Tuttavia, lo spazio dei nomi è bloccato nello stato "Terminating" (Arresto in corso).

Breve descrizione

Per eliminare uno spazio dei nomi, Kubernetes deve innanzitutto eliminare tutte le risorse all'interno dello spazio dei nomi. Quindi, deve controllare lo stato dei servizi API registrati. Uno spazio dei nomi rimane bloccato nello stato "Terminating" (Arresto in corso) per i seguenti motivi:

  • Lo spazio dei nomi contiene risorse che Kubernetes non può eliminare.
  • Un servizio API si trova nello stato "False" (Falso).

Risoluzione

Segui queste istruzioni per eliminare gli spazi dei nomi bloccati nello stato "Terminating" (Arresto in corso).

1.    Salva un file JSON simile al seguente:

kubectl get namespace <terminating-namespace> -o json > tempfile.json

2.    Rimuovi il blocco dell'array dei finalizer dalla sezione spec del file JSON. Di seguito è riportato un esempio della sezione spec di un file JSON che contiene il blocco dell'array dei finalizer da rimuovere:

"spec": {
        "finalizers": [
            "kubernetes"
        ]
    }

Dopo aver rimosso il blocco dell'array dei finalizer, la sezione spec del file JSON è simile alla seguente:

"spec" : {
    }

3.    Per applicare le modifiche, esegui un comando simile al seguente:

kubectl replace --raw "/api/v1/namespaces/<terminating-namespace>/finalize" -f ./tempfile.json

4.    Verifica che lo spazio dei nomi in arresto sia stato rimosso:

kubectl get namespaces

Ripeti questi passaggi per tutti gli spazi dei nomi rimanenti bloccati nello stato "Terminating" (Arresto in corso).


Informazioni correlate

Che cos'è Amazon EKS?

Kubernetes

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa