Perché lo spazio dei nomi in cui è stato distribuito il mio operatore di archiviazione è bloccato nello stato Terminating ?
Risolvere i namespace rimasti bloccati nello stato “ Terminating ” dopo la rimozione di una configurazione di archiviazione “ Satellite ”.
Quando rimuovi una configurazione di archiviazione da un cluster, le risorse come i pod operatore e le classi di archiviazione vengono rimosse, ma lo spazio dei nomi è bloccato nello stato Terminating.
I finalizer impediscono l'eliminazione delle risorse rimanenti nello spazio dei nomi e dello spazio dei nomi stesso.
Effettuare le seguenti operazioni per rimuovere le risorse e lo spazio dei nomi.
Non modificare né eliminare i finalizzatori delle risorse nel namespace kube-system.
- Ottieni lo spazio dei nomi bloccato nello stato
Terminating. Prendere nota delle risorse elencate nella sezionemessage: 'Some resources are remaining:.
Esempio di output per un namespace NetApp Tridentoc get ns <namespace> -o yamlstatus: conditions: - lastTransitionTime: "2021-05-18T17:40:31Z" message: All resources successfully discovered reason: ResourcesDiscovered status: "False" type: NamespaceDeletionDiscoveryFailure - lastTransitionTime: "2021-05-18T17:40:31Z" message: All legacy kube types successfully parsed reason: ParsedGroupVersions status: "False" type: NamespaceDeletionGroupVersionParsingFailure - lastTransitionTime: "2021-05-18T17:40:31Z" message: All content successfully deleted, may be waiting on finalization reason: ContentDeleted status: "False" type: NamespaceDeletionContentFailure - lastTransitionTime: "2021-05-18T17:40:31Z" message: 'Some resources are remaining: tridentbackends.trident.netapp.io has 1 resource instances, tridentnodes.trident.netapp.io has 3 resource instances, tridentversions.trident.netapp.io has 1 resource instances, tridentvolumes.trident.netapp.io has 1 resource instances' reason: SomeResourcesRemain status: "True" type: NamespaceContentRemaining - lastTransitionTime: "2021-05-18T17:40:31Z" message: 'Some content in the namespace has finalizers remaining: trident.netapp.io in 6 resource instances' reason: SomeFinalizersRemain status: "True" type: NamespaceFinalizersRemaining phase: Terminating - Eseguire il comando
oc getper ottenere le risorse che sono in attesa di rimozione. Nell'output di esempio, la risorsatridentbackends.trident.netapp.ioelenca 1 istanza di risorsa. Ripeti questo passo per ciascuna risorsa che elenca le istanze nella sezionemessagedello spazio nomi YAML che hai richiamato in precedenza.
Comando di esempio per la risorsaoc get <resource> -n <namespace>tridentbackends.trident.netapp.io.
Output di esempiooc get tridentbackends.trident.netapp.io -n tridenttbe-bhb5rpvc-26d97ecd-c268-47ff-a2fd-a0a1a51a9e12 - Per ogni risorsa che elenca le istanze, eseguire il seguente comando
kubectl patchper rimuovere i finalizer ed eliminare la risorsa. Dopo aver corretto tutte le risorse, lo spazio dei nomi viene rimosso.Comando di esempio per la risorsakubectl -n <namespace> patch <resource>/<instance> -p '{"metadata":{"finalizers":[]}}' --type=mergetridentbackends.trident.netapp.io.kubectl -n trident patch tridentbackends.trident.netapp.io/tbe-bhb5r -p '{"metadata":{"finalizers":[]}}' --type=merge - Dopo aver rimosso i finalizer sulle restanti risorse, eseguire il comando
oc get nsper verificare che lo spazio dei nomi sia stato rimosso.oc get ns