Desinstalar Config Sync

En esta página se explica cómo desinstalar Config Sync de tu clúster, cómo inhabilitar la función de flota de Config Management en tu flota y cómo desinstalar el operador de ConfigManagement.

Esta página está dirigida a administradores y operadores de TI que gestionan el ciclo de vida de la infraestructura tecnológica subyacente. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles y tareas habituales de los usuarios de GKE. Google Cloud

La función de flota Config Management gestiona Config Sync mediante el operador ConfigManagement. Debido a esta arquitectura, los pasos para desinstalar deben completarse en el siguiente orden:

  1. Desinstalar Config Sync de un clúster
  2. Inhabilitar la función Config Management en tu flota
  3. Desinstalar el operador ConfigManagement de tu clúster

Desinstalar Config Sync de un clúster

.

Consola

No puedes desinstalar Config Sync solo con la consola Google Cloud . En su lugar, usa Google Cloud CLI.

gcloud

  1. Abre el manifiesto applySpec que has creado durante la instalación con la CLI de Google Cloud.

  2. En el archivo de manifiesto applySpec, asigna el valor false a spec.configSync.enabled:

    applySpecVersion: 1
    spec:
      configSync:
        enabled: false
    ...
    
  3. Aplica los cambios:

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

    Haz los cambios siguientes:

    • MEMBERSHIP_NAME: añade el clúster registrado al que quieras aplicar esta configuración. Si has registrado el clúster en la consolaGoogle Cloud , el nombre de la pertenencia es el mismo que el de tu clúster.

    • CONFIG_YAML: añade la ruta al archivo apply-spec.yaml.

    • PROJECT_ID: añade el ID de tu proyecto.

Terraform

Si has usado Terraform para instalar Config Sync con un recurso gke_hub_feature_membership del proveedor de Google Cloud Platform, actualiza ese recurso para desinstalar Config Sync. No uses el comando terraform destroy. El comando terraform destroy no desinstala Config Sync por completo. Algunos componentes permanecen.

  1. Identifica el recurso gke_hub_feature_membership en tus archivos de configuración de Terraform que tenga el argumento configmanagement rellenado.

  2. Actualiza el recurso gke_hub_feature_membership para quitar el argumento config_sync de configmanagement.

    Por ejemplo:

    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. Aplica la configuración de Terraform:

    terraform apply
    

    Para confirmar que quieres aplicar las acciones descritas, escribe yes.

Config Connector

Si has usado Config Connector para instalar Config Sync mediante un recurso GKEHubFeatureMembership, actualiza ese recurso para desinstalar Config Sync.

  1. Identifica el objeto de recurso GKEHubFeatureMembership de tu clúster que tenga el campo .spec.configmanagement.configSync rellenado.

  2. Aplica un parche al objeto de recurso GKEHubFeatureMembership para quitar el campo .spec.configmanagement.configSync asignándole el valor null:

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

    Haz los cambios siguientes:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: añade el nombre del objeto de recurso GKEHubFeatureMembership que has creado anteriormente.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: añade el espacio de nombres que contiene el objeto de recurso GKEHubFeatureMembership que has creado anteriormente.

Inhabilitar Config Management en tu flota

Consola

  1. En la Google Cloud consola, ve a la página Gestor de funciones.

    Ir a Gestor de funciones

  2. En la fila Gestión de configuración de la tabla Funciones, haz clic en Detalles. Aparecerá la página Resumen de estado.

  3. Haz clic en Inhabilitar Config Management. Aparecerá una página de confirmación.

  4. En la página de confirmación, haz clic en Deshabilitar gestión de configuración.

gcloud

  1. Para inhabilitar Config Management en todos los clústeres de la flota, ejecuta el siguiente comando:

    gcloud beta container fleet config-management disable
    

Terraform

Si has usado Terraform para habilitar la función Config Management en tu flota mediante un recurso google_gke_hub_feature del proveedor de Google Cloud Platform, actualiza ese recurso para inhabilitar Config Management en todos los clústeres de la flota.

  1. Actualiza el archivo HCL que contiene tu google_gke_hub_feature recurso para eliminar el recurso google_gke_hub_feature.

  2. Si aún tienes un recurso gke_hub_feature_membership definido con un campo feature que hace referencia al recurso google_gke_hub_feature eliminado, quita también ese recurso gke_hub_feature_membership.

  3. Aplica la configuración de Terraform:

    terraform apply
    

    Para confirmar que quieres aplicar las acciones descritas, escribe yes.

Config Connector

Si has usado Config Connector para habilitar la función Config Management en tu flota mediante un recurso GKEHubFeature, actualiza ese recurso para inhabilitar Config Management en todos los clústeres de la flota.

  1. Identifica el objeto de recurso GKEHubFeature de tu clúster que tenga un valor .spec.resourceID de configmanagement.

  2. Si aún tienes un objeto de recurso GKEHubFeatureMembership definido con un campo .spec.featureRef que hace referencia a ese objeto de recurso GKEHubFeature, elimínalo:

    kubectl delete GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE
    

    Haz los cambios siguientes:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: añade el nombre del objeto de recurso GKEHubFeatureMembership que has creado anteriormente.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: añade el espacio de nombres que contiene el objeto de recurso GKEHubFeatureMembership que has creado anteriormente.

  3. Elimina el recurso GKEHubFeature de tu clúster:

    kubectl delete GKEHubFeature FEATURE_OBJECT_NAME \
        --namespace FEATURE_OBJECT_NAMESPACE
    

    Haz los cambios siguientes:

    • FEATURE_OBJECT_NAME: añade el nombre del objeto de recurso GKEHubFeature que has creado anteriormente.

    • FEATURE_OBJECT_NAMESPACE: añade el espacio de nombres que contiene el objeto de recurso GKEHubFeature que has creado anteriormente.

Desinstalar el operador ConfigManagement

Usa kubectl para eliminar el operador ConfigManagement después de inhabilitar la función Config Management en la flota o anular el registro de tu clúster en la flota.

Para quitar el operador ConfigManagement, ejecuta los siguientes comandos:

  1. Elimina el objeto ConfigManagement del clúster:

    kubectl delete configmanagement --all
    

    Después de ejecutar este comando, ocurrirá lo siguiente:

    • Se eliminarán del clúster todos los ClusterRoles y ClusterRoleBindings creados en el clúster por el operador de Config Management.
    • Se eliminan todas las configuraciones de controladores de admisión instaladas por el operador ConfigManagement.
    • Se elimina el contenido del espacio de nombres config-management-system, excepto git-creds Secret y, en las versiones de Config Sync a partir de la 1.9.0, config-management-operator Deployment y config-management-operator Pod. El operador ConfigManagement no puede funcionar sin el espacio de nombres config-management-system. Las CustomResourceDefinitions (CRDs) creadas o modificadas por el controlador del operador de Config Management se eliminan de los clústeres en los que se crearon o modificaron. El CRD necesario para ejecutar el operador ConfigManagement sigue existiendo porque, desde el punto de vista de Kubernetes, lo añadió el usuario que instaló el operador ConfigManagement. En el siguiente paso se explica cómo quitar estos componentes.
  2. Si necesitas conservar el git-creds secreto, hazlo ahora:

    kubectl -n config-management-system get secret git-creds -o yaml
    
  3. Elimina el espacio de nombres config-management-system:

    kubectl delete ns config-management-system
    
  4. Elimina el espacio de nombres config-management-monitoring:

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

    kubectl delete crd configmanagements.configmanagement.gke.io