Desinstalar o Config Sync

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

O recurso de frota do Config Management gerencia o Config Sync, o Policy Controller e o Hierarchy Controller 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. Desinstalar o ConfigManagement Operator do cluster

Desinstalar o Config Sync do cluster

Console

Não é possível desinstalar o Config Sync apenas com o console do Google Cloud. Em vez disso, 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. (obrigatório apenas para clusters que usam upgrades automáticos do Config Sync) No manifesto applySpec, defina spec.upgrades como auto:

    applySpecVersion: 1
    spec:
      upgrades: auto
      configSync:
        enabled: false
    ...
    
  4. 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.17.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. Corrija o 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 Gerenciamento de recursos do GKE Enterprise na seção Recursos da frota.

    Acessar "Gerenciamento de atributos"

  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 na frota, execute o seguinte comando:

    gcloud beta container fleet config-management disable
    

Terraform

Se você usou o Terraform (em inglês) 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 na 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 que você criou 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 do Config Management na frota ou cancelar o registro do cluster dela.

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 Policy Controller, Config Sync e Config Controller a partir da 1.9.0, a implantação config-management-operator e o pod config-management-operator. O ConfigManagement Operator não funciona sem o namespace config-management-system. Todos os CustomResourceDefinition (CRDs) criados ou modificados pelo controlador do ConfigManagement Operator são removidos dos clusters em que foram criados ou modificados. O CRD necessário para executar o ConfigManagement Operator ainda existe porque, do ponto de vista do Kubernetes, ele foi adicionado 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