Instalar Config Sync como predeterminado de la flota

Puedes instalar Config Sync como valor predeterminado de la flota para que todos los clústeres nuevos que añadas a tu flota tengan habilitado Config Sync automáticamente con los ajustes que quieras. Si configuras valores predeterminados a nivel de flota, te aseguras de que todos los clústeres de GKE en Google Cloud que se registren en la flota hereden una configuración estándar de Config Sync, incluida la versión y las conexiones a tu fuente de información veraz. Este proceso simplifica el aprovisionamiento de clústeres y ayuda a mantener una base de referencia de gestión de la configuración uniforme.

En esta página se explica lo siguiente:

  • Cómo configurar estos ajustes predeterminados a nivel de flota con la CLI de Google Cloud, la Google Cloud consola o Terraform.
  • Cómo aplicar la configuración predeterminada a los clústeres.
  • Cómo inhabilitar la configuración predeterminada de la flota si es necesario.

Para obtener información general sobre las configuraciones predeterminadas de la flota, consulta Gestionar funciones a nivel de flota.

Antes de empezar

Antes de instalar Config Sync, prepara tu fuente de información veraz y un clúster adecuado.

Conceder acceso a Config Sync a tu fuente de información veraz

Para sincronizar la configuración de una fuente de información veraz con tus clústeres, Config Sync necesita acceso de solo lectura a tu repositorio. Para autorizar a Config Sync a leer tus configuraciones, sigue estos pasos:

Revisar los requisitos de los clústeres

Antes de crear un clúster, consulta los requisitos de los clústeres.

Limitaciones

  • No se puede configurar Helm como tipo de origen predeterminado de la flota.
  • La consola Google Cloud no admite la conexión a una fuente de información veraz como ajuste predeterminado. En su lugar, debes usar la función Implementar paquetes después de crear un clúster.

Configurar valores predeterminados a nivel de flota para un repositorio de Git

Para configurar los valores predeterminados a nivel de flota de Config Sync, sigue estos pasos:

gcloud

  1. Crea un archivo de manifiesto llamado apply-spec.yaml con el siguiente contenido. Si ya has creado un archivo de manifiesto, no es necesario que crees otro.

    applySpecVersion: 1
    spec:
      configSync:
        enabled: true
        sourceType: git
        sourceFormat: unstructured
        syncRepo: REPO
        syncRev: REVISION
        secretType: SECRET_TYPE
        # only required if gcpserviceaccount is the secretType
        # gcpServiceAccountEmail: EMAIL
        metricsGcpServiceAccountEmail: METRICS_EMAIL
        preventDrift: false
    

    Haz los cambios siguientes:

    • REPO: la URL de tu repositorio de Git, por ejemplo, https://github.com/GoogleCloudPlatform/anthos-config-management-samples. Usa el formato HTTPS para la URL o el formato SSH si ssh es el sourceType.
    • REVISION: la revisión de Git (etiqueta o hash) o el nombre de la rama desde la que se va a sincronizar. Cuando se usa un hash, debe ser un hash completo, no una forma abreviada.
    • SECRET_TYPE: el método de autenticación que se usa para conectarse a tu repositorio de Git. En el caso de los repositorios públicos, usa none. En los repositorios privados, usa una de las siguientes opciones:

      • ssh: usa un par de claves SSH.
      • cookiefile: usa un cookiefile.
      • token: usa un token.
      • gcpserviceaccount: usa una cuenta de servicio de Google si Workload Identity Federation for GKE está habilitado. Solo Secure Source Manager o Cloud Source Repositories.
      • gcenode: usa una cuenta de servicio de Google si Workload Identity Federation for GKE no está habilitado. Solo Secure Source Manager o Cloud Source Repositories.
      • githubapp: usa una aplicación de GitHub para autenticarte en un repositorio de GitHub.

      Para obtener más información sobre cómo conectar tu repositorio de Git a Config Sync, consulta el artículo Conceder acceso a Git a Config Sync.

    • EMAIL: si gcpserviceaccount es el secretType, quita el comentario de este campo y añade la dirección de correo de la cuenta de servicio de Google, por ejemplo, config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: el correo de la Google Cloud cuenta de servicio de Google (GSA) que se usa para exportar métricas de Config Sync a Cloud Monitoring. Para obtener más información sobre cómo configurar la exportación de métricas, consulta Monitorizar Config Sync.

    Para ver una lista completa de los campos que puede añadir al manifiesto apply-spec, consulte Campos de especificación de aplicación de gcloud.

  2. Aplica el archivo apply-spec con la configuración predeterminada de tu flota ejecutando el siguiente comando:

    gcloud beta container fleet config-management enable \
        --fleet-default-member-config=apply-spec.yaml
    

Consola

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

    Ir a Gestor de funciones

  2. En el panel Config Sync (Sincronización de configuración), haga clic en Configure (Configurar).

  3. Revisa la configuración a nivel de flota. Todos los clústeres nuevos que crees en la flota heredarán estos ajustes.

  4. Opcional: Para cambiar los ajustes predeterminados, haz clic en Personalizar ajustes de la flota. En el cuadro de diálogo que aparece, haz lo siguiente:

    1. Selecciona la versión de Config Sync que quieras usar.
    2. Haz clic en Guardar cambios.
  5. Haz clic en Configurar.

  6. En el cuadro de diálogo de confirmación Configurar ajustes de la flota, haz clic en Confirmar. Si no has habilitado Config Sync anteriormente, al hacer clic en Confirm (Confirmar) también se habilitará la API anthosconfigmanagement.googleapis.com.

Aunque no puedes configurar los ajustes de tu fuente de información veraz como predeterminados de la flota desde la consola de Google Cloud , sí puedes seleccionar varios clústeres cuando usas la función Desplegar un paquete.

Terraform

Para habilitar Config Sync como valor predeterminado de la flota, consulta el siguiente ejemplo:

resource "google_gke_hub_feature" "default" {
  name     = "configmanagement"
  location = "global"

  fleet_default_member_config {
    configmanagement {
      config_sync {
        # The field `enabled` was introduced in Terraform version 5.41.0, and
        # needs to be set to `true` explicitly to install Config Sync.
        enabled = true
        git {
          sync_repo   = "REPO"
          sync_branch = "BRANCH"
          policy_dir  = "DIRECTORY"
          secret_type = "SECRET"
        }
      }
    }
  }
}

Haz los cambios siguientes:

  • REPO: la URL del repositorio de Git que contiene los archivos de configuración.
  • BRANCH: la rama del repositorio, por ejemplo, main.
  • DIRECTORY: la ruta del repositorio de Git que representa el nivel superior del repositorio que quieres sincronizar.
  • SECRET: el tipo de autenticación secreta.

Para obtener más información sobre cómo usar Terraform, consulta Aprovisionar recursos de Config Sync con Terraform.

Configurar valores predeterminados a nivel de flota para una imagen de OCI

Para configurar los valores predeterminados a nivel de flota de Config Sync, sigue estos pasos:

gcloud

  1. Crea un archivo de manifiesto llamado apply-spec.yaml con el siguiente contenido. Si ya has creado un archivo de manifiesto, no es necesario que crees otro.

    applySpecVersion: 1
    spec:
      configSync:
        enabled: true
        sourceType: oci
        sourceFormat: unstructured
        syncRepo: REPO
        secretType: SECRET_TYPE
        # only required if gcpserviceaccount is the secretType
        # gcpServiceAccountEmail: EMAIL
        metricsGcpServiceAccountEmail: METRICS_EMAIL
        preventDrift: false
    

    Haz los cambios siguientes:

    • REPO: la URL de tu imagen de OCI con el formato LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME. De forma predeterminada, la imagen se extrae de la etiqueta latest, pero puedes extraer imágenes con TAG o DIGEST. Especifica TAG o DIGEST en PACKAGE_NAME:

      • Para tirar por TAG: LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME:TAG
      • Para tirar por DIGEST: LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME@sha256:DIGEST
      los recursos gestionados se eliminarán sin que se produzca ningún error.
    • SECRET_TYPE: el método de autenticación utilizado para conectarse a tu imagen de OCI. En el caso de las imágenes públicas, use none como valor. En el caso de las imágenes privadas, utiliza una de las siguientes opciones:

      • gcpserviceaccount: solo Secure Source Manager o Cloud Source Repositories. Usa una cuenta de servicio de Google si Workload Identity Federation para GKE está habilitado.
      • gcenode: solo Secure Source Manager o Cloud Source Repositories. Usa una cuenta de servicio de Google si Workload Identity Federation for GKE no está habilitado.

      Para obtener más información sobre cómo conectar tu imagen de OCI a Config Sync, consulta Conceder acceso a OCI o Helm a Config Sync.

    • EMAIL: si gcpserviceaccount es el secretType, quita el comentario de este campo y añade la dirección de correo de la cuenta de servicio de Google, por ejemplo, config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: el correo de la Google Cloud cuenta de servicio de Google (GSA) que se usa para exportar métricas de Config Sync a Cloud Monitoring. Para obtener más información sobre cómo configurar la exportación de métricas, consulta Monitorizar Config Sync.

    Para ver una lista completa de los campos que puede añadir al manifiesto apply-spec, consulte Campos de especificación de aplicación de gcloud.

  2. Aplica el archivo apply-spec con la configuración predeterminada de tu flota ejecutando el siguiente comando:

    gcloud beta container fleet config-management enable \
        --fleet-default-member-config=apply-spec.yaml
    

Consola

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

    Ir a Gestor de funciones

  2. En el panel Config Sync (Sincronización de configuración), haga clic en Configure (Configurar).

  3. Revisa la configuración a nivel de flota. Todos los clústeres que crees en la flota heredarán estos ajustes.

  4. Opcional: Para cambiar los ajustes predeterminados, haz clic en Personalizar ajustes de la flota. En el cuadro de diálogo que aparece, haz lo siguiente:

    1. Selecciona la versión de Config Sync que quieras usar.
    2. Haz clic en Guardar cambios.
  5. Haz clic en Configurar.

  6. En el cuadro de diálogo de confirmación Configurar ajustes de la flota, haz clic en Confirmar. Si no has habilitado Config Sync anteriormente, al hacer clic en Confirm (Confirmar) también se habilitará la API anthosconfigmanagement.googleapis.com.

Aunque no puedes configurar los ajustes de tu fuente de información veraz como predeterminados de la flota desde la consola de Google Cloud , sí puedes seleccionar varios clústeres cuando usas la función Desplegar un paquete.

Terraform

Para habilitar Config Sync como valor predeterminado de la flota, consulta el siguiente ejemplo:

resource "google_gke_hub_feature" "configmanagement_feature_member" {
  name     = "configmanagement"
  location = "global"

  fleet_default_member_config {
    configmanagement {
      config_sync {
        # The field `enabled` was introduced in Terraform version 5.41.0, and
        # needs to be set to `true` explicitly to install Config Sync.
        enabled = true
        oci {
          sync_repo   = "REPO"
          policy_dir  = "DIRECTORY"
          secret_type = "SECRET"
        }
      }
    }
  }
}

Haz los cambios siguientes:

  • REPO: la URL del repositorio de imágenes de OCI que contiene los archivos de configuración.
  • DIRECTORY: la ruta absoluta del directorio que contiene los recursos que quieres sincronizar. Para usar el directorio raíz, deje este campo en blanco.
  • SECRET: el tipo de autenticación secreta.

Para obtener más información sobre cómo usar Terraform, consulta Aprovisionar recursos de Config Sync con Terraform.

Actualizar clústeres para que hereden los valores predeterminados de la flota

Para actualizar los clústeres que ya tienes para que usen la configuración predeterminada de Config Sync, puedes usar la Google Cloud consola o la CLI de gcloud para sincronizar los clústeres de la flota que elijas con los valores predeterminados de la flota. También puedes configurar manualmente cada clúster con los mismos ajustes mediante Terraform y siguiendo las instrucciones para instalar Config Sync de la sección anterior. Si anteriormente usabas Terraform para especificar los valores predeterminados de la flota, usa los mismos bloques configmanagement y config_sync que usaste para definir los valores predeterminados y configurar los clústeres que elijas.

Para sincronizar la configuración predeterminada de Config Sync en toda tu flota, sigue estos pasos:

gcloud

  1. Sincroniza una suscripción con la configuración predeterminada de la flota:

    gcloud beta container fleet config-management apply \
        --origin=FLEET \
        --membership=MEMBERSHIP_NAME
    

    Sustituye MEMBERSHIP_NAME por el nombre de la pertenencia a la flota del clúster que quieras sincronizar con la configuración predeterminada de la flota.

  2. Confirma que las configuraciones de tu suscripción se han sincronizado con la configuración predeterminada de la flota:

    gcloud beta container fleet config-management status
    

    El resultado de este comando debería mostrarse como Yes en el estado Synced_to_Fleet_Default de la suscripción que has sincronizado.

consola

  1. Ve a Gestor de funciones:

    Ve a Gestor de funciones: Config Sync

  2. En la tabla de clústeres, selecciona los clústeres que quieras sincronizar con los ajustes de la flota.

  3. Haz clic en Sincronizar con la configuración común.

Inhabilitar los valores predeterminados de la flota

Para inhabilitar los ajustes predeterminados de Config Sync en toda tu flota, sigue estos pasos:

  1. Para inhabilitar la configuración predeterminada de la flota, ejecuta el siguiente comando:

    gcloud beta container fleet config-management disable --fleet-default-member-config
    
  2. Confirma que la configuración predeterminada de la flota esté inhabilitada:

    gcloud beta container fleet config-management status
    

Siguientes pasos