Desinstalar o Config Sync

Nesta página, mostramos como desinstalar o Config Sync do cluster, desativar o recurso de frota do Config Management e desinstalar o ConfigManagement Operator.

Esta página é destinada a administradores de TI e operadores que gerenciam o ciclo de vida da infraestrutura de tecnologia subjacente. Para saber mais sobre papéis comuns e exemplos de tarefas que mencionamos no conteúdo do Google Cloud , consulte Tarefas e funções de usuário comuns do GKE Enterprise.

O recurso de frota do Config Management gerencia o Config Sync usando o ConfigManagement Operator. Devido a essa arquitetura, as etapas de desinstalação precisam ser concluídas na seguinte ordem:

  1. Desinstalar o Config Sync do cluster
  2. Desativar o recurso de gerenciamento de configuração na sua frota
  3. Desinstalar o ConfigManagement Operator do cluster

Desinstalar o Config Sync do cluster

Console

Não é possível desinstalar o Config Sync usando apenas o console do Google Cloud . Use a Google Cloud CLI.

gcloud

  1. Abra o manifesto applySpec que você criou durante a instalação com a Google Cloud CLI.

  2. No manifesto applySpec, defina spec.configSync.enabled como false:

    applySpecVersion: 1
    spec:
      configSync:
        enabled: false
    ...
    
  3. Aplique as alterações:

      gcloud beta container fleet config-management apply \
          --membership=MEMBERSHIP_NAME \
          --config=CONFIG_YAML \
          --project=PROJECT_ID
    

    Substitua:

    • MEMBERSHIP_NAME: adicione o cluster registrado ao qual você quer aplicar essa configuração. Se você registrou o cluster no console do Google Cloud , o nome da assinatura é igual ao nome do cluster.

    • CONFIG_YAML: adicione o caminho para seu arquivo apply-spec.yaml.

    • PROJECT_ID: adicione o ID do projeto.

Terraform

Se você usou o Terraform para instalar o Config Sync usando um recurso gke_hub_feature_membership do Provedor do Google Cloud Platform, atualize esse recurso para desinstalar o Config Sync.

  1. Identifique o recurso gke_hub_feature_membership nos arquivos de configuração do Terraform que tem um argumento configmanagement preenchido.

  2. Atualize o recurso gke_hub_feature_membership para remover o argumento config_sync do configmanagement.

    Exemplo:

    resource "google_gke_hub_feature_membership" "feature_member" {
      location = "global"
      feature = google_gke_hub_feature.feature.name
      membership = google_gke_hub_membership.membership.membership_id
      membership_location = google_gke_hub_membership.membership.location
      configmanagement {
        version = "1.20.0"
      }
    }
    
  3. Aplique a configuração do Terraform:

    terraform apply
    

    Confirme que você quer aplicar as ações descritas digitando yes.

Config Connector

Se você usou o Config Connector para instalar o Config Sync usando um recurso GKEHubFeatureMembership, atualize esse recurso para desinstalar o Config Sync.

  1. Identifique o objeto de recurso GKEHubFeatureMembership no cluster que tem um campo .spec.configmanagement.configSync preenchido.

  2. Faça um patch no objeto de recurso GKEHubFeatureMembership para remover o campo .spec.configmanagement.configSync definindo-o como nulo:

    kubectl patch GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE \
        -p '{"spec":{"configmanagement":{"configSync": null}}}'
    

    Substitua:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: adicione o nome do objeto de recurso GKEHubFeatureMembership que você criou anteriormente.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: adicione o namespace que contém o objeto de recurso GKEHubFeatureMembership que você criou anteriormente.

Desativar o Config Management na sua frota

Console

  1. No console do Google Cloud , acesse a página Gerenciador de recursos.

    Acessar o gerenciador de recursos

  2. Na linha Config Management da tabela Recursos, clique em Detalhes. A página Resumo de status é exibida.

  3. Clique em Desativar gerenciamento de configuração. Uma página de confirmação é exibida.

  4. Na página de confirmação, clique em Desativar gerenciamento de configuração.

gcloud

  1. Para desativar o Config Management em todos os clusters da frota, execute o seguinte comando:

    gcloud beta container fleet config-management disable
    

Terraform

Se você usou o Terraform para ativar o recurso de gerenciamento de configuração na sua frota usando um recurso google_gke_hub_feature do Provedor do Google Cloud Platform, atualize esse recurso para desativar o gerenciamento de configuração em todos os clusters da frota.

  1. Atualize o arquivo HCL que contém o recurso google_gke_hub_feature para remover o recurso google_gke_hub_feature.

  2. Se você ainda tiver um recurso gke_hub_feature_membership definido com um campo feature que faz referência ao google_gke_hub_feature removido, remova esse recurso gke_hub_feature_membership também.

  3. Aplique a configuração do Terraform:

    terraform apply
    

    Confirme que você quer aplicar as ações descritas digitando yes.

Config Connector

Se você usou o Config Connector para ativar o recurso Config Management na sua frota usando um recurso GKEHubFeature, atualize esse recurso para desativar o Config Management em todos os clusters da frota.

  1. Identifique o objeto de recurso GKEHubFeature no cluster que tem um valor .spec.resourceID de configmanagement.

  2. Se você ainda tiver um objeto de recurso GKEHubFeatureMembership definido com um campo .spec.featureRef que faz referência a esse objeto de recurso GKEHubFeature, exclua-o:

    kubectl delete GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE
    

    Substitua:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: adicione o nome do objeto de recurso GKEHubFeatureMembership que você criou anteriormente.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: adicione o namespace que contém o objeto de recurso GKEHubFeatureMembership que você criou anteriormente.

  3. Exclua o recurso GKEHubFeature do cluster:

    kubectl delete GKEHubFeature FEATURE_OBJECT_NAME \
        --namespace FEATURE_OBJECT_NAMESPACE
    

    Substitua:

    • FEATURE_OBJECT_NAME: adicione o nome do objeto de recurso GKEHubFeature criado anteriormente.

    • FEATURE_OBJECT_NAMESPACE: adicione o namespace que contém o objeto de recurso GKEHubFeature que você criou anteriormente.

Desinstalar o ConfigManagement Operator

Use kubectl para excluir o ConfigManagement Operator depois de desativar o recurso Config Management na frota ou cancelar o registro do cluster na frota.

Para remover o ConfigManagement Operator, execute os seguintes comandos:

  1. Exclua o objeto ConfigManagement do cluster:

    kubectl delete configmanagement --all
    

    Depois que você executar esse comando, acontecerá o seguinte:

    • Todos os ClusterRoles e ClusterRoleBindings criados no cluster pelo ConfigManagement Operator são excluídos do cluster.
    • Todas as configurações do controlador de admissão instaladas pelo ConfigManagement Operator são excluídas.
    • O conteúdo do namespace config-management-system é excluído, com exceção do secret git-creds e, para as versões do Config Sync a partir da versão 1.9.0, o parâmetro de implantação config-management-operator e o pod config-management-operator. O ConfigManagement Operator não funciona sem o namespace config-management-system. Quaisquer CustomResourceDefinitions (CRDs) criados ou modificados pelo controlador ConfigManagement Operator são removidos dos clusters onde foram criados ou modificados. O CRD necessário para executar o ConfigManagement Operator ainda existe porque, do ponto de vista do Kubernetes, eles foram adicionados pelo usuário que instalou o ConfigManagement Operator. As informações sobre como remover esses componentes estão na próxima etapa.
  2. Se você precisar manter o secret git-creds, faça isso agora:

    kubectl -n config-management-system get secret git-creds -o yaml
    
  3. Exclua o namespace config-management-system:

    kubectl delete ns config-management-system
    
  4. Exclua o namespace config-management-monitoring:

    kubectl delete ns config-management-monitoring
    
  5. Exclua a CustomResourceDefinition de ConfigManagement:

    kubectl delete crd configmanagements.configmanagement.gke.io