Excluir um cluster de usuário

Para excluir um cluster de usuário, você precisa ter a função de administrador do cluster de usuário (função user-cluster-admin).

Siga estas etapas para excluir um cluster de usuário:

Console

  1. No menu de navegação, selecione Clusters.

  2. Na lista de clusters, clique no cluster que você quer excluir.

  3. Clique em excluir Excluir cluster.

  4. Quando solicitado, digite a frase de confirmação e clique em Excluir para excluir o cluster.

kubectl

  1. Pause a reconciliação do recurso personalizado Cluster do GDCH do cluster de usuário:

    kubectl annotate clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \
        cluster.gdc.goog/paused=true --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    
  2. Acione a exclusão do recurso personalizado Cluster do GDCH no cluster de usuário:

    kubectl delete clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG --wait=false
    
  3. Inicie a exclusão de todos os recursos personalizados NodePoolClaim no cluster de usuário:

    kubectl delete --all nodepoolclaims -n NAMESPACE \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG --wait=false
    

    Esse comando inicia a exclusão em segundo plano de todas as solicitações de pool de nós no cluster de usuário.

  4. Exclua o recurso personalizado Cluster do cluster de usuário:

    kubectl delete clusters USER_CLUSTER_NAME \
        -n NAMESPACE --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    

    Esse comando pode levar vários minutos, dependendo da quantidade de pools de nós no cluster de usuário a ser excluído.

  5. Exclua o recurso personalizado do namespace:

    kubectl --kubeconfig=ADMIN_CLUSTER_KUBECONFIG delete namespace NAMESPACE
    
  6. Exclua o secret do Istio no namespace istio-system:

    kubectl delete secrets istio-remote-secret-USER_CLUSTER_NAME -n istio-system \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    

    Em alguns casos, o secret do Istio pode ter um nome diferente. Para listar o secret do Istio e confirmar o nome, execute o seguinte comando:

    kubectl get secrets -n istio-system \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    
  7. Remova as reivindicações de pool de endereços com o mesmo nome do cluster de usuário de destino, mas localizadas em namespaces diferentes:

    for j in $(kubectl get addresspoolclaims -A -o custom-columns=:.metadata.namespace --kubeconfig=ADMIN_CLUSTER_KUBECONFIG);
    do
    kubectl delete addresspoolclaims USER_CLUSTER_NAME -n $j --kubeconfig=ADMIN_CLUSTER_KUBECONFIG;
    done
    

    Depois de executar esse comando, você vai encontrar erros como este:

    Error from server (NotFound): addresspoolclaims.system.private.gdc.goog "USER_CLUSTER_NAME" not found
    

    Ignore esses erros. O comando tenta encontrar todas as solicitações de pool de endereços com o nome do cluster especificado em todos os namespaces. Alguns namespaces não contêm declarações de pool de endereços com o nome, resultando em um erro.

  8. Verifique se você excluiu o namespace do cluster de usuário:

    kubectl get namespaces NAMESPACE \
        --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    

    Se o namespace for excluído, a saída vai mostrar um erro indicando que o namespace não foi encontrado. Exemplo:

    Error from server (NotFound): namespaces NAMESPACE not found
    
  9. Retome a reconciliação do recurso personalizado Cluster do GDCH no cluster de usuário:

    kubectl annotate clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \
        cluster.gdc.goog/paused- --kubeconfig=ADMIN_CLUSTER_KUBECONFIG
    

API

  • Para excluir um cluster de usuário, remova o recurso personalizado Cluster da instância do GDC:

    kubectl delete clusters.cluster.gdc.goog/USER_CLUSTER_NAME -n platform \
        --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Substitua:

    • USER_CLUSTER_NAME: o nome do cluster de usuário a ser excluído.
    • ADMIN_CLUSTER_KUBECONFIG: o caminho do arquivo kubeconfig do cluster de administrador.