Guía de inicio rápido: Sincroniza desde varios repositorios

En esta guía de inicio rápido, crearás un clúster de Google Kubernetes Engine (GKE) nuevo y usarás el Sincronizador de configuración para sincronizarlo con configuraciones del repositorio de muestras de Anthos Config Management.

Imagina que el equipo de cumplimiento es responsable de garantizar que todos los miembros de la organización cumplan con las reglas internas. Para aplicar estas reglas, el equipo de cumplimiento creó archivos de configuración que agregaron al repositorio de muestras. Cada clúster de tu organización debe sincronizarse con el repositorio y eres responsable de crear y sincronizar clústeres.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.

    En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

    Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

    En la página del selector de proyectos de Google Cloud Console, selecciona o crea un proyecto de Google Cloud.

    Ir al selector de proyectos

    Comprueba que la facturación esté habilitada en tu proyecto.

    Descubre cómo puedes habilitar la facturación

Prepara el entorno

En las siguientes secciones, crearás y configurarás un clúster que puedes usar con el Sincronizador de configuración.

Crea un clúster

Para crear un clúster que puedas usar con el Sincronizador de configuración, completa los siguientes pasos:

  1. En Google Cloud Console, ve a la página Google Kubernetes Engine.

    Ir a Google Kubernetes Engine

  2. Haz clic en Crear.

  3. En la sección Estándar, haz clic en Configurar.

  4. En la sección Aspectos básicos del clúster, completa lo siguiente:

    1. Ingresa cs-cluster como el Nombre de tu clúster.
    2. Deja todos los demás campos con sus valores predeterminados recomendados.
  5. En el menú de la izquierda, en Clúster, selecciona Seguridad.

  6. En la página Seguridad, selecciona la casilla de verificación Habilitar Workload Identity.

  7. Haga clic en Crear. El clúster puede tardar varios minutos en crearse.

Otórgate permisos de administrador

Después de crear el clúster, otorga la función Administrador de GKE Hub que necesitas para usar el Sincronizador de configuración en Google Cloud Console.

  1. En Cloud Console, ve a la página IAM.

    Ir a IAM

  2. Haz clic en Agregar.

  3. En el campo Principales nuevos, ingresa la dirección de correo electrónico que usaste para registrarte en Google Cloud.

  4. En la lista desplegable Seleccionar una función, busca y selecciona Administrador de GKE Hub.

  5. Haz clic en Guardar.

Habilita Anthos Config Management

Para habilitar Anthos Config Management, completa los siguientes pasos:

  1. En Cloud Console, ve a la página Config Management.

    Ir a Config Management

  2. Haz clic en Configurar Config Management.

  3. Para habilitar la API de Config Management, haz clic en Siguiente. Después de hacer clic en Siguiente, se te dirigirá a la página Seleccionar los clústeres registrados en Config Management, en la que puedes registrar tu clúster.

Registra tu clúster

Después de crear tu clúster, regístralo en una flota:

  1. En la página Selecciona clústeres registrados para Config Management, ubica la tabla Clústeres no registrados de este proyecto y busca cs-cluster.
  2. Junto a cs-cluster, haz clic en Registrarse.

    Una vez que el clúster se registra de forma correcta, aparece en la tabla Selecciona clústeres registrados para Config Management.

Configura tu clúster

Ahora que creaste un clúster, puedes configurar el Sincronizador de configuración para que se sincronice con los archivos de configuración en el directorio quickstart del repositorio de muestras de Anthos Config Management.

Para configurar el Sincronizador de configuración en Google Cloud Console, completa los siguientes pasos:

  1. En la tabla Selecciona clústeres registrados para Config Management, selecciona cs-cluster y haz clic en Siguiente.
  2. En la página Sincronizador de configuración que aparece, selecciona una Versión de Anthos Config Management 1.7.0 o una posterior. Esta versión habilita la sincronización desde varios repositorios de forma predeterminada.
  3. Deja habilitada la casilla de verificación Habilitar el Sincronizador de configuración.
  4. En el campo URL, agrega https://github.com/GoogleCloudPlatform/anthos-config-management-samples.
  5. En la lista desplegable Tipo de autenticación, selecciona Ninguno.
  6. En el campo Rama, agrega main.
  7. Deja el campo Etiqueta/Confirmación en blanco, ya que usaremos el valor predeterminado de HEAD.
  8. En el campo Directorio de políticas, agrega quickstart/multirepo/root.
  9. Deja en blanco el Tiempo de espera de sincronización y el Proxy de Git, ya que usamos sus valores predeterminados de 15 segundos y HTTPS, respectivamente.
  10. En la lista desplegable Formato de origen, selecciona no estructurado. Te recomendamos que uses el formato no estructurado, ya que te permite organizar los archivos de configuración de la manera que te resulte más conveniente.
  11. Haz clic en Siguiente.
  12. Desmarca la casilla de verificación Habilitar controlador de políticas y haz clic en Completar.

    Volverás al menú Anthos Config Management. Después de unos minutos, deberías ver Sincronizadoen la columna Estado de sincronización del archivo de configuración junto a cs-cluster.

Ahora que el Sincronizador de configuración está sincronizado con un repositorio, concilia de forma continua el estado de los clústeres con los archivos de configuración del repositorio.

Explora y prueba la instalación del Sincronizador de configuración

En las siguientes secciones, usarás Cloud Shell para explorar la instalación del Sincronizador de configuración y, luego, intentarás modificar un objeto administrado.

Abre Cloud Shell

Para iniciar Cloud Shell, completa estos comandos:

  1. Ve a Google Cloud Console

    Ir a Google Cloud Console

  2. Desde la esquina superior derecha de la consola, haz clic en el botón Activar Cloud Shell:

    Se abrirá una sesión de Cloud Shell dentro de un marco en la parte inferior en la consola. Usa esta shell para ejecutar los comandos de gcloud, nomos y kubectl.

  3. Para usar los comandos de las siguientes secciones, configura el acceso a la línea de comandos de kubectl mediante la ejecución del siguiente comando:

    gcloud container clusters get-credentials cs-cluster \
        --zone ZONE \
        --project PROJECT_ID
    

    Reemplaza lo siguiente:

    • ZONE: Es la zona en la que creaste el clúster.
    • PROJECT_ID: El ID de tu proyecto

    Resultado esperado:

    Fetching cluster endpoint and auth data.
    kubeconfig entry generated for cs-cluster.
    

Examina tu clúster y repositorio

El directorio quickstart incluye ClusterRole, CustomResourceDefinition, parámetros de configuración del operador de Prometheus para la supervisión, Rolebinding, el espacio de nombres y RepoSync. Estos archivos de configuración se aplican en cuanto se configure el Sincronizador de configuración para leer desde el repositorio.

Todos los objetos administrados por el Sincronizador de configuración tienen la etiqueta app.kubernetes.io/managed-by configurada en configmanagement.gke.io.

Para mostrar una lista de los espacios de nombres administrados por el Sincronizador de configuración, ejecuta el siguiente comando:

kubectl get ns -l app.kubernetes.io/managed-by=configmanagement.gke.io

Resultado esperado:

NAME         STATUS   AGE
gamestore    Active   58s
monitoring   Active   58s

Puedes navegar a la carpeta /quickstart/multirepo/ del repositorio de Anthos Config Management en GitHub para explorar los archivos de configuración que generaron la creación de estos espacios de nombres.

Puedes examinar otros objetos, como ClusterRole, Reposyncs, CRD y Rolesbinding, del mismo modo.

Intenta modificar de forma manual un objeto administrado

El Sincronizador de configuración evita la mutación de objetos administrados a través del webhook de admisión.

Si intentas realizar un cambio conflictivo mediante la modificación manual de un objeto de Kubernetes administrado por el Sincronizador de configuración, recibirás un error.

Para probar esto, intenta borrar el espacio de nombres gamestore.

kubectl delete namespace gamestore

Resultado esperado:

error: admission webhook "v1.admission-webhook.configsync.gke.io" denied the request: requester is not authorized to delete managed resources

Limpia

Si deseas seguir el instructivo de Escribe opciones de configuración para el Sincronizador de configuración, no realices ninguna limpieza aún. Esta guía de inicio rápido es un requisito para ese instructivo, que también incluye instrucciones de limpieza.

Si no deseas realizar ese instructivo, puedes limpiar mediante la eliminación del clúster que usaste para este instructivo:

  1. Ve al menú de GKE en Cloud Console.

    Ir a GKE

  2. Junto a cs-cluster, haz clic en Acciones y, luego, en Borrar.

  3. Cuando se te solicite confirmación, haz clic en Borrar de nuevo.

¿Qué sigue?