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

    Asegúrate de que la facturación esté habilitada para tu proyecto de Cloud. Descubre cómo confirmar que tienes habilitada la facturación en un proyecto.

Prepara tu 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, haz clic en default-pool y, en la lista desplegable que aparece, haz clic en Nodos.

  6. En la sección Nodos, completa lo siguiente:

    1. En la lista desplegable Tipo de máquina, selecciona e2-standard-4.
    2. Deja el resto de los campos en su valor predeterminado.
  7. En el menú de la izquierda, en Clúster, selecciona Seguridad.

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

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

Otórgate permisos de administrador

Una vez que se cree el clúster, otórgate la función Administrador de GKE Hub que necesitas para el Sincronizador de configuración en Google Cloud Console.

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

    Ir a IAM

  2. Haga clic en Add.

  3. En el campo Miembros 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 la función

Para habilitar la función, completa los siguientes pasos:

Anthos

  1. Habilita la API de Anthos:

    1. En Google Cloud Console, ve a la página API de Anthos.

      Ir a la API de Anthos

    2. Haga clic en Habilitar.

  2. Habilita Anthos Config Management:

    1. En Google Cloud Console, ve a la página Funciones de Anthos.

      Ir a Funciones de Anthos

      1. En la fila Config Management, haz clic en Habilitar.
      2. En la ventana de confirmación, haz clic en Habilitar Config Management.

GKE

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

    Ir a Config Management

  2. Haz clic en Configura Config Management.

  3. Para habilitar la API de Config Management, haz clic en Siguiente. Después de hacer clic en Siguiente, se te dirige a la página Seleccionar los clústeres registrados para 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:

Anthos

  1. En Google Cloud Console, ve a la página Clústeres de Anthos.

    Ir a Clústeres de Anthos

  2. Haz clic en Registrar un clúster existente.

  3. Junto a cs-cluster, haz clic en Registrarse.

    Resultado esperado:

    Cluster cs-cluster registered successfully as cs-cluster in project PROJECT_NAME.
    

GKE

  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:

Anthos

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

    Ir a Anthos Config Management

  2. Selecciona cs-cluster y haz clic en Configurar.

  3. En la lista desplegable Autenticación del repositorio de Git para ACM, selecciona Ninguna y haz clic en Continuar.

  4. En la sección Configuración de ACM para tus clústeres, completa los siguientes pasos:

    1. En el campo Versión, selecciona la versión 1.7.0 o posterior para Anthos Config Management, que permite la sincronización desde varios repositorios de forma predeterminada.

    2. Selecciona la casilla de verificación Habilitar el Sincronizador de configuración.

    3. En la lista desplegable que aparece, completa los siguientes pasos:

      1. En el campo URL, agrega https://github.com/GoogleCloudPlatform/anthos-config-management-samples.
      2. En el campo Rama, agrega main.
      3. Deja el campo Etiqueta/Confirmación en blanco, ya que usaremos el valor predeterminado de HEAD.
      4. En el campo Directorio de políticas, agrega quickstart/multirepo/root.
      5. Deja Tiempo de espera para la sincronización y Proxy de Git en blanco, ya que usamos sus valores predeterminados.
      6. 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.
  5. Haz clic en Listo. Volverás al menú de Anthos Config Management. Después de unos minutos, deberías ver Synced en la columna Estado de sincronización del archivo de configuración junto a cs-cluster.

GKE

  1. En la tabla Selecciona clústeres registrados para Config Management, selecciona cs-cluster y haz clic en Siguiente.
  2. En la página Config Sync que aparece, selecciona una versión de Anthos Config Management de 1.7.0 o posterior. Esta versión habilita la sincronización desde varios repositorios de forma predeterminada.
  3. En la lista desplegable Tipo de autenticación, selecciona Ninguno.
  4. En el campo URL, agrega https://github.com/GoogleCloudPlatform/anthos-config-management-samples.
  5. En el campo Rama, agrega main.
  6. Deja el campo Etiqueta/Confirmación en blanco, ya que usaremos el valor predeterminado de HEAD.
  7. En el campo Directorio de políticas, agrega quickstart/multirepo/root.
  8. Deja Tiempo de espera para la sincronización y Proxy de Git en blanco, ya que usamos sus valores predeterminados.
  9. 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.
  10. Haz clic en Siguiente.
  11. 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 columnaEstado 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 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.

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

Realice una limpieza

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?