Disinstallazione di Config Sync

Questa pagina mostra come disinstallare Config Sync dal cluster, disabilitare la funzionalità del parco risorse Config Management nel parco risorse e come disinstallare l'operatore ConfigManagement.

La funzionalità del parco risorse Config Management gestisce Config Sync, Policy Controller e Hierarchy Controller utilizzando l'operatore ConfigManagement. Data questa architettura, i passaggi di disinstallazione devono essere completati nel seguente ordine:

  1. Disinstalla Config Sync dal cluster
  2. Disattivare la funzionalità Config Management nel parco risorse
  3. Disinstalla l'operatore ConfigManagement dal cluster

Disinstalla Config Sync dal cluster

Console

Non puoi disinstallare Config Sync solo con la console Google Cloud. Utilizza Google Cloud CLI.

gcloud

  1. Apri il manifest di applySpec che hai creato durante l'installazione con Google Cloud CLI.

  2. Nel manifest applySpec, imposta spec.configSync.enabled su false:

    applySpecVersion: 1
    spec:
      configSync:
        enabled: false
    ...
    
  3. (obbligatorio solo per i cluster che utilizzano Config Sync auto-upgrades) Nel manifest applySpec, imposta spec.upgrades su auto:

    applySpecVersion: 1
    spec:
      upgrades: auto
      configSync:
        enabled: false
    ...
    
  4. Applica le modifiche:

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

    Sostituisci quanto segue:

    • MEMBERSHIP_NAME: aggiungi il cluster registrato a cui vuoi applicare questa configurazione. Se hai registrato il cluster nella console Google Cloud, il nome dell'abbonamento corrisponde a quello del cluster.

    • CONFIG_YAML: aggiungi il percorso al file apply-spec.yaml.

    • PROJECT_ID: aggiungi il tuo ID progetto.

Terraform

Se hai utilizzato Terraform per installare Config Sync utilizzando una risorsa gke_hub_feature_membership del provider della piattaforma Google Cloud, aggiorna la risorsa per disinstallare Config Sync.

  1. Identifica la risorsa gke_hub_feature_membership nei tuoi file di configurazione Terraform con un argomento configmanagement completato.

  2. Aggiorna la risorsa gke_hub_feature_membership per rimuovere l'argomento config_sync da configmanagement.

    Ad esempio:

    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. Applica la configurazione Terraform:

    terraform apply
    

    Conferma di voler applicare le azioni descritte inserendo yes.

Config Connector

Se hai utilizzato Config Connector per installare Config Sync utilizzando una risorsa GKEHubFeatureMembership, aggiorna la risorsa per disinstallare Config Sync.

  1. Identifica l'oggetto risorsa GKEHubFeatureMembership sul tuo cluster con un campo .spec.configmanagement.configSync completato.

  2. Applica una patch all'oggetto risorsa GKEHubFeatureMembership per rimuovere il campo .spec.configmanagement.configSync impostandolo su null:

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

    Sostituisci quanto segue:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: aggiungi il nome dell'oggetto risorsa GKEHubFeatureMembership che hai creato in precedenza.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: aggiungi lo spazio dei nomi che contiene l'oggetto risorsa GKEHubFeatureMembership che hai creato in precedenza.

Disabilita Config Management nel tuo parco risorse

Console

  1. Nella console Google Cloud, vai alla pagina Gestione delle funzionalità di GKE Enterprise nella sezione Funzionalità del parco risorse.

    Vai a Gestione delle funzionalità

  2. Nella riga Gestione configurazione della tabella Funzionalità, fai clic su Dettagli. Viene visualizzata la pagina Riepilogo stato.

  3. Fai clic su Disabilita Config Management. Viene visualizzata una pagina di conferma.

  4. Nella pagina di conferma, fai clic su Disabilita Config Management.

gcloud

  1. Per disabilitare Config Management in tutti i cluster nel parco risorse, esegui questo comando:

    gcloud beta container fleet config-management disable
    

Terraform

Se hai utilizzato Terraform per abilitare la funzionalità Config Management nel tuo parco risorse utilizzando una risorsa google_gke_hub_feature del provider della piattaforma Google Cloud, aggiorna la risorsa per disabilitare Config Management in tutti i cluster nel parco risorse.

  1. Aggiorna il file HCL che contiene la risorsa google_gke_hub_feature per rimuovere la risorsa google_gke_hub_feature.

  2. Se hai ancora una risorsa gke_hub_feature_membership definita con un campo feature che fa riferimento alla risorsa google_gke_hub_feature rimossa, rimuovi anche quella risorsa gke_hub_feature_membership.

  3. Applica la configurazione Terraform:

    terraform apply
    

    Conferma di voler applicare le azioni descritte inserendo yes.

Config Connector

Se hai utilizzato Config Connector per abilitare la funzionalità Config Management nel parco risorse utilizzando una risorsa GKEHubFeature, aggiornala per disabilitare Config Management in tutti i cluster del parco risorse.

  1. Identifica l'oggetto risorsa GKEHubFeature sul tuo cluster che ha un valore .spec.resourceID di configmanagement.

  2. Se hai ancora un oggetto risorsa GKEHubFeatureMembership definito con un campo .spec.featureRef che fa riferimento all'oggetto risorsa GKEHubFeature, eliminalo:

    kubectl delete GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE
    

    Sostituisci quanto segue:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: aggiungi il nome dell'oggetto risorsa GKEHubFeatureMembership che hai creato in precedenza.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: aggiungi lo spazio dei nomi che contiene l'oggetto risorsa GKEHubFeatureMembership che hai creato in precedenza.

  3. Elimina la risorsa GKEHubFeature dal cluster:

    kubectl delete GKEHubFeature FEATURE_OBJECT_NAME \
        --namespace FEATURE_OBJECT_NAMESPACE
    

    Sostituisci quanto segue:

    • FEATURE_OBJECT_NAME: aggiungi il nome dell'oggetto risorsa GKEHubFeature creato in precedenza.

    • FEATURE_OBJECT_NAMESPACE: aggiungi lo spazio dei nomi che contiene l'oggetto risorsa GKEHubFeature che hai creato in precedenza.

Disinstalla l'operatore ConfigManagement

Utilizza kubectl per eliminare l'operatore ConfigManagement dopo aver disabilitato la funzionalità di gestione della configurazione nel parco risorse o dopo aver annullato la registrazione del cluster dal parco risorse.

Per rimuovere l'operatore ConfigManagement, esegui questi comandi:

  1. Elimina l'oggetto ConfigManagement dal cluster:

    kubectl delete configmanagement --all
    

    Dopo aver eseguito questo comando, si verifica quanto segue:

    • Tutti i ClusterRole e ClusterRoleBinding creati nel cluster dall'operatore ConfigManagement vengono eliminati dal cluster.
    • Le configurazioni del controller di ammissione installate dall'operatore ConfigManagement vengono eliminate.
    • I contenuti dello spazio dei nomi config-management-system vengono eliminati, ad eccezione del Secret git-creds, e per le versioni di Policy Controller, Config Sync e Config Controller che iniziano nella 1.9.0, il deployment config-management-operator e il pod config-management-operator. L'operatore ConfigManagement non può funzionare senza lo spazio dei nomi config-management-system. Qualsiasi CRD (CustomResourceDefinitions) creata o modificata dal controller Operator ConfigManagement viene rimosso dai cluster in cui sono stati creati o modificati. Il CRD necessario per eseguire l'operatore ConfigManagement esiste ancora perché dal punto di vista di Kubernetes è stato aggiunto dall'utente che ha installato ConfigManagement. Le informazioni sulla rimozione di questi componenti verranno trattate nel passaggio successivo.
  2. Se devi conservare il secret di git-creds, fallo ora:

    kubectl -n config-management-system get secret git-creds -o yaml
    
  3. Elimina lo spazio dei nomi config-management-system:

    kubectl delete ns config-management-system
    
  4. Elimina lo spazio dei nomi config-management-monitoring:

    kubectl delete ns config-management-monitoring
    
  5. Elimina ConfigManagement CustomResourceDefinition:

    kubectl delete crd configmanagements.configmanagement.gke.io