Desinstalar el Sincronizador de configuración

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

La función de flota de Config Management administra el Sincronizador de configuración, el controlador de políticas y el controlador de jerarquía con el operador de ConfigManagement. Debido a esta arquitectura, los pasos de desinstalación deben completarse en el siguiente orden:

  1. Desinstala el Sincronizador de configuración de tu clúster.
  2. Inhabilita la función Config Management en tu flota
  3. Desinstala el operador ConfigManagement de tu clúster

Desinstala el Sincronizador de configuración de tu clúster

Console

No puedes desinstalar el Sincronizador de configuración solo con la consola de Google Cloud. En su lugar, usa Google Cloud CLI.

gcloud

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

  2. En el manifiesto applySpec, establece spec.configSync.enabled en false:

    applySpecVersion: 1
    spec:
      configSync:
        enabled: false
    ...
    
  3. (obligatorio solo para clústeres que usan las actualizaciones automáticas del Sincronizador de configuración) En el manifiesto applySpec, establece spec.upgrades en auto:

    applySpecVersion: 1
    spec:
      upgrades: auto
      configSync:
        enabled: false
    ...
    
  4. Aplica los cambios:

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

    Reemplaza lo siguiente:

    • MEMBERSHIP_NAME: Agrega el clúster registrado al que deseas aplicar esta configuración. Si registraste el clúster en la consola de Google Cloud, el nombre de la membresía es el mismo que el de tu clúster.

    • CONFIG_YAML: Agrega la ruta de acceso a tu archivo apply-spec.yaml.

    • PROJECT_ID: Agrega ID de tu proyecto.

Terraform

Si usaste Terraform para instalar el Sincronizador de configuración con un recurso gke_hub_feature_membership del proveedor de Google Cloud Platform, actualiza ese recurso para desinstalar el Sincronizador de configuración.

  1. Identifica el recurso gke_hub_feature_membership en tus archivos de configuración de Terraform que tiene un argumento configmanagement propagado.

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

    terraform apply
    

    Ingresa yes para confirmar que deseas aplicar las acciones descritas.

Config Connector

Si usaste Config Connector para instalar el Sincronizador de configuración con un recurso GKEHubFeatureMembership, actualiza ese recurso para desinstalar el Sincronizador de configuración.

  1. Identifica el objeto de recurso GKEHubFeatureMembership en tu clúster que tiene un campo .spec.configmanagement.configSync propagado.

  2. Aplica un parche al objeto de recurso GKEHubFeatureMembership para quitar el campo .spec.configmanagement.configSync configurándolo como nulo:

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

    Reemplaza lo siguiente:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: Agrega el nombre del objeto de recurso GKEHubFeatureMembership que creaste antes.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: Agrega el espacio de nombres que contiene el objeto de recurso GKEHubFeatureMembership que creaste antes.

Inhabilita Config Management en tu flota

Console

  1. En la consola de Google Cloud, ve a la página Administración de atributos de GKE Enterprise en la sección Funciones de flota.

    Ir a Administración de atributos

  2. En la fila Config Management 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 Inhabilitar Config Management.

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 usaste Terraform para habilitar la función Config Management en tu flota con 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 el recurso google_gke_hub_feature para quitar 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 google_gke_hub_feature que se quitó, quítalo también.gke_hub_feature_membership

  3. Aplica la configuración de Terraform:

    terraform apply
    

    Ingresa yes para confirmar que deseas aplicar las acciones descritas.

Config Connector

Si usaste Config Connector para habilitar la función Config Management en tu flota con 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 en tu clúster que tiene 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, bórralo:

    kubectl delete GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE
    

    Reemplaza lo siguiente:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: Agrega el nombre del objeto de recurso GKEHubFeatureMembership que creaste antes.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: Agrega el espacio de nombres que contiene el objeto de recurso GKEHubFeatureMembership que creaste antes.

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

    kubectl delete GKEHubFeature FEATURE_OBJECT_NAME \
        --namespace FEATURE_OBJECT_NAMESPACE
    

    Reemplaza lo siguiente:

    • FEATURE_OBJECT_NAME: Agrega el nombre del objeto de recurso GKEHubFeature que creaste antes.

    • FEATURE_OBJECT_NAMESPACE: Agrega el espacio de nombres que contiene el objeto de recurso GKEHubFeature que creaste antes.

Desinstala el operador ConfigManagement

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

Para quitar el operador ConfigManagement, ejecuta los siguientes comandos:

  1. Borra el objeto ConfigManagement del clúster:

    kubectl delete configmanagement --all
    

    Después de ejecutar este comando, sucede lo siguiente:

    • Todos los ClusterRoles y ClusterRoleBindings que creó el operador de ConfigManagement se borran del clúster.
    • Se borrará cualquier configuración del controlador de admisión que haya instalado el operador de ConfigManagement.
    • Se borrará el contenido del espacio de nombres config-management-system, a excepción del secreto git-creds, y, en el caso de las versiones del controlador de políticas, del Sincronizador de configuración y del controlador de configuración a partir de la versión 1.9.0, la Deployment de config-management-operator y el Pod config-management-operator. El operador de ConfigManagement no puede funcionar sin el espacio de nombres config-management-system. Cualquier CustomResourceDefinitions (CRD) que el controlador del operador de ConfigManagement crea o modifica se quita de los clústeres en los que se crearon o modificaron. La CRD necesaria para ejecutar el operador ConfigManagement todavía existe porque, desde el punto de vista de Kubernetes, lo agregó el usuario que instaló el operador ConfigManagement. En el siguiente paso, se explica cómo quitar estos componentes.
  2. Si necesitas retener el Secret git-creds, hazlo ahora:

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

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

    kubectl delete ns config-management-monitoring
    
  5. Borra la CustomResourceDefinition de ConfigManagement:

    kubectl delete crd configmanagements.configmanagement.gke.io