Desinstale o Config Sync

Esta página mostra como desinstalar o Config Sync do cluster, desativar a funcionalidade de frota de gestão de configuração na sua frota e desinstalar o operador ConfigManagement.

Esta página destina-se a administradores de TI e operadores que gerem o ciclo de vida da infraestrutura tecnológica subjacente. Para saber mais sobre as funções comuns e as tarefas de exemplo que referimos no conteúdo, consulte o artigo Funções e tarefas comuns do utilizador do GKE. Google Cloud

A funcionalidade de frota de gestão da configuração gere a sincronização de configuração através do operador ConfigManagement. Devido a esta arquitetura, os passos de desinstalação têm de ser concluídos pela seguinte ordem:

  1. Desinstale o Config Sync do cluster
  2. Desative a funcionalidade de gestão de configurações na sua frota
  3. Desinstale o operador ConfigManagement do cluster

Desinstale o Config Sync do seu cluster

Consola

Não pode desinstalar o Config Sync apenas com a consola Google Cloud . Em alternativa, use a Google Cloud CLI.

gcloud

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

  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 o seguinte:

    • MEMBERSHIP_NAME: adicione o cluster registado ao qual quer aplicar esta configuração. Se registou o cluster na Google Cloud consola, o nome da associação é igual ao nome do seu cluster.

    • CONFIG_YAML: adicione o caminho ao seu ficheiro apply-spec.yaml.

    • PROJECT_ID: adicione o ID do projeto.

Terraform

Se usou o Terraform para instalar o Config Sync através de um recurso gke_hub_feature_membership do fornecedor da 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 ficheiros 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.

    Por 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 quer aplicar as ações descritas introduzindo yes.

Config Connector

Se usou o Config Connector para instalar o Config Sync através de um recurso GKEHubFeatureMembership, atualize esse recurso para desinstalar o Config Sync.

  1. Identifique o objeto de recurso GKEHubFeatureMembership no seu 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 o seguinte:

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

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: adicione o espaço de nomes que contém o objeto de recurso GKEHubFeatureMembership que criou anteriormente.

Desative a gestão de configurações na sua frota

Consola

  1. Na Google Cloud consola, aceda à página Gestor de funcionalidades.

    Aceda ao Gestor de funcionalidades

  2. Na linha Gestão de configurações da tabela Funcionalidades, clique em Detalhes. É apresentada a página Resumo do estado.

  3. Clique em Desativar gestão de configurações. É apresentada uma página de confirmação.

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

gcloud

  1. Para desativar a gestão de configuração em todos os clusters na frota, execute o seguinte comando:

    gcloud beta container fleet config-management disable
    

Terraform

Se usou o Terraform para ativar a funcionalidade Config Management na sua frota através de um recurso google_gke_hub_feature do fornecedor da Google Cloud Platform, atualize esse recurso para desativar o Config Management em todos os clusters na frota.

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

  2. Se ainda tiver um recurso gke_hub_feature_membership definido com um campo feature que faça referência ao google_gke_hub_feature removido, também deve remover esse recurso gke_hub_feature_membership.

  3. Aplique a configuração do Terraform:

    terraform apply
    

    Confirme que quer aplicar as ações descritas introduzindo yes.

Config Connector

Se usou o Config Connector para ativar a funcionalidade Config Management na sua frota através de um recurso GKEHubFeature, atualize esse recurso para desativar o Config Management em todos os clusters na frota.

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

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

    kubectl delete GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE
    

    Substitua o seguinte:

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

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: adicione o espaço de nomes que contém o objeto de recurso GKEHubFeatureMembership que criou anteriormente.

  3. Elimine o recurso GKEHubFeature do seu cluster:

    kubectl delete GKEHubFeature FEATURE_OBJECT_NAME \
        --namespace FEATURE_OBJECT_NAMESPACE
    

    Substitua o seguinte:

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

    • FEATURE_OBJECT_NAMESPACE: adicione o espaço de nomes que contém o objeto de recurso GKEHubFeature que criou anteriormente.

Desinstale o operador ConfigManagement

Use kubectl para eliminar o operador ConfigManagement depois de desativar a funcionalidade de gestão de configuração na frota ou anular o registo do cluster na frota.

Para remover o operador ConfigManagement, execute os seguintes comandos:

  1. Elimine o objeto ConfigManagement do cluster:

    kubectl delete configmanagement --all
    

    Depois de executar este comando, ocorrem as seguintes situações:

    • Todos os ClusterRoles e ClusterRoleBindings criados no cluster pelo operador ConfigManagement são eliminados do cluster.
    • Todas as configurações do controlador de admissão instaladas pelo operador ConfigManagement são eliminadas.
    • O conteúdo do espaço de nomes config-management-system é eliminado, com exceção do git-creds segredo e, para as versões do Config Sync a partir da 1.9.0, da config-management-operator implementação e do config-management-operator pod. O operador ConfigManagement não pode funcionar sem o espaço de nomes.config-management-system Todas as CustomResourceDefinitions (CRDs) criadas ou modificadas pelo controlador do operador ConfigManagement são removidas dos clusters onde foram criadas ou modificadas. O CRD necessário para executar o operador ConfigManagement ainda existe porque, do ponto de vista do Kubernetes, foi adicionado pelo utilizador que instalou o operador ConfigManagement. As informações sobre a remoção destes componentes são abordadas no passo seguinte.
  2. Se precisar de reter o git-credssegredo, faça-o agora:

    kubectl -n config-management-system get secret git-creds -o yaml
    
  3. Elimine o espaço de nomes config-management-system:

    kubectl delete ns config-management-system
    
  4. Elimine o espaço de nomes config-management-monitoring:

    kubectl delete ns config-management-monitoring
    
  5. Elimine a CustomResourceDefinition do ConfigManagement:

    kubectl delete crd configmanagements.configmanagement.gke.io