Desinstalar o Config Sync

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

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 tarefas de exemplo referenciados no conteúdo do Google Cloud , consulte Tarefas e funções de usuário comuns do GKE.

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 Config Management na sua frota
  3. Desinstale o ConfigManagement Operator do cluster

Desinstalar o Config Sync do cluster

Console

Não é possível desinstalar o Config Sync apenas com o console 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 consoleGoogle 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. Não use o comando terraform destroy. O comando terraform destroy não desinstala totalmente o Config Sync. Alguns componentes permanecem.

  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 de 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. Adicione um patch ao 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 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 Config Management na sua frota usando um recurso google_gke_hub_feature do Provedor do Google Cloud Platform, atualize esse recurso para desativar o Config Management 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 também esse recurso gke_hub_feature_membership.

  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 referencia 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 que você criou anteriormente.

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

Desinstalar o ConfigManagement Operator

Use kubectl para excluir o operador ConfigManagement depois de desativar o recurso do Config Management na frota ou cancelar o registro do cluster da 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