Como soluciono problemas de namespaces em estado encerrado no meu cluster do Amazon EKS?

2 minuto de leitura
0

Tentei excluir um namespace no meu cluster do Amazon Elastic Kubernetes Service (Amazon EKS). No entanto, o namespace está preso no status “Terminating” (Encerrando).

Breve descrição

Para excluir um namespace, o Kubernetes deve primeiro excluir todos os recursos no namespace. Em seguida, ele deve verificar o status dos serviços de API registrados. Um namespace fica preso no status “Encerrando” pelos seguintes motivos:

  • O namespace contém recursos que o Kubernetes não pode excluir.
  • Um serviço de API tem o status “Falso”.

Resolução

Siga estas instruções para excluir namespaces presos no status “Encerrando”.

1.    Salve um arquivo JSON semelhante ao seguinte:

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

2.    Remova o bloco de matriz dos finalizadores da seção especificações do arquivo JSON. Veja a seguir um exemplo da seção especificações de um arquivo JSON que contém o bloco de matriz dos finalizadores a ser removido:

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

Depois de remover o bloco de matriz dos finalizadores, a seção especificações do arquivo JSON fica assim:

"spec" : {
    }

3.    Para aplicar as alterações, execute um comando semelhante ao seguinte:

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

4.    Verifique se o namespace em encerramento foi removido:

kubectl get namespaces

Repita estas etapas para todos os namespaces restantes presos no status “Terminating”.


Informações relacionadas

O que é o Amazon EKS?

Kubernetes

AWS OFICIAL
AWS OFICIALAtualizada há um ano