Guía de inicio rápido: Sincroniza la configuración desde un repositorio de Git

En esta guía de inicio rápido, se muestra cómo usar el Sincronizador de configuración para implementar un enfoque de GitOps para administrar tus clústeres de Google Kubernetes Engine. Con un flujo de trabajo de GitOps, usas un repositorio de Git como la única fuente de información para las configuraciones de tu clúster.

Si usas el Sincronizador de configuración, obtendrás los siguientes beneficios:

  • Aplica la coherencia: ayuda a garantizar que todos tus clústeres tengan la misma configuración, lo que reduce el riesgo de desvío de configuración.
  • Mejora la seguridad: administra y audita de forma centralizada las configuraciones de tus clústeres, lo que facilita la aplicación de las políticas de seguridad.
  • Aumenta la velocidad: automatiza la implementación de los cambios de configuración, lo que te permite implementar cambios de forma más rápida y confiable.

En este instructivo, crearás un clúster de GKE y configurarás el Sincronizador de configuración para sincronizar archivos de configuración desde un repositorio de muestra. Este instructivo te ayuda a comprender cómo funciona el Sincronizador de configuración y te brinda experiencia en el uso del Sincronizador de configuración para administrar tus clústeres de forma coherente y automatizada.

Antes de comenzar

  1. Accede a tu Google Cloud cuenta de. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Asegúrate de tener los siguientes roles en el proyecto: Administrador de Kubernetes Engine

    Verifica los roles

    1. En la Google Cloud consola de, dirígete a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. En la columna Principal, busca todas las filas que te identifiquen a ti o a un grupo en el que se te incluya. Para saber en qué grupos estás incluido, comunícate con tu administrador.

    4. Para todas las filas en las que se te especifique o se te incluya, verifica la columna Rol para ver si la lista de roles incluye los roles necesarios.

    Otorga los roles

    1. En la Google Cloud consola de, dirígete a la página IAM.

      Ir a IAM
    2. Selecciona el proyecto.
    3. Haz clic en Grant access.
    4. En el campo Principales nuevas, ingresa tu identificador de usuario. Esta suele ser la dirección de correo electrónico de una Cuenta de Google.

    5. Haz clic en Selecciona un rol y, luego, busca el rol.
    6. Para otorgar roles adicionales, haz clic en Agregar otro rol y agrega uno más.
    7. Haz clic en Guardar.

Crea un clúster

En esta sección, crearás un clúster que puedes usar en este instructivo. Aunque en una situación real, es probable que administres varios clústeres, para simplificar este instructivo, solo debes crear y administrar un clúster.

Para crear un clúster, completa los siguientes pasos:

  1. Habilita la API de Google Kubernetes Engine.

    Ir a GKE

  2. En la Google Cloud consola de, ve a la página Kubernetes Engine.

    Ir a Google Kubernetes Engine

  3. Haz clic en Crear.

  4. En la sección Autopilot, selecciona Configurar.

  5. En la sección Conceptos básicos del clúster, ingresa cs-cluster en el campo Nombre. Deja todos los demás campos con sus valores predeterminados recomendados.

  6. Haz clic en Crear. Se te dirigirá a la página Clústeres de Kubernetes. El clúster puede tardar varios minutos en crearse. Cuando veas una marca de verificación verde en la columna Estado junto al clúster, estará listo.

Configura tu clúster

Ahora que tienes un clúster, puedes configurar el Sincronizador de configuración para sincronizar archivos de configuración desde un repositorio de Git.

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

  1. En la Google Cloud consola, ve a la página Configuración en la sección Funciones.

    Ir a Configuración

  2. Haz clic en Instalar el Sincronizador de configuración.
  3. Selecciona la versión del Sincronizador de configuración que deseas usar.
  4. En Opciones de instalación, selecciona Instalar el Sincronizador de configuración en clústeres individuales.
  5. En la tabla Clústeres disponibles, selecciona cs-cluster y haz clic en Instalar el Sincronizador de configuración. En la pestaña Configuración, deberías ver el estado de cs-cluster como Habilitado después de unos minutos.
  6. En el Panel del Sincronizador de configuración, haz clic en Implementar paquete de clúster.
  7. En la tabla Selecciona clústeres para la implementación de paquetes , selecciona cs-cluster y, luego, haz clic en Continuar.
  8. Deja seleccionada la opción Paquete alojado en Git y, luego, haz clic en Continuar.
  9. En el campo Nombre del paquete, ingresa sample-repository.
  10. En el campo URL del repositorio, ingresa https://github.com/GoogleCloudPlatform/anthos-config-management-samples.
  11. En el campo Ruta de acceso, ingresa config-sync-quickstart/multirepo/root.
  12. Deja todos los otros campos con sus valores predeterminados.
  13. Haz clic en Implementar paquete.

    Después de unos minutos, deberías ver Sincronizado en la columna Estado de sincronización para 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.

Ver detalles del paquete

Para ver los objetos que administra el Sincronizador de configuración, ve a la pestaña Paquetes y haz clic en cs-cluster. La página de detalles del paquete proporciona una descripción general de todos los recursos sincronizados, incluido el tipo de recurso y el espacio de nombres con el que se sincroniza el recurso.

(Opcional) Explora el repositorio de muestra

Las configuraciones aplicadas a tu clúster se definen en el /config-sync-quickstart/multirepo/ repositorio. En este ejemplo, se muestra una configuración de varios repositorios en la que las configuraciones a nivel de administrador del clúster, representadas por el repositorio root, se separan de las configuraciones a nivel de espacio de nombres, representadas por el repositorio namespaces. En este ejemplo, estas configuraciones se dividen en diferentes carpetas. En una situación real, podrías almacenar configuraciones en dos repositorios diferentes con diferentes permisos de acceso.

En un nivel superior, los repositorios raíz o a nivel del clúster suelen ser administrados por un administrador central y contienen recursos, configuraciones de espacio de nombres y políticas en todo el clúster. Los repositorios a nivel de espacio de nombres suelen contener configuraciones específicas para espacios de nombres individuales y, a menudo, son administrados por equipos de aplicaciones.

Algunos de los tipos de archivos clave que puedes almacenar en un repositorio raíz incluyen los siguientes:

  • Creación de espacios de nombres: Los archivos como namespace-gamestore.yaml crean los espacios de nombres.
  • Recursos con permisos de clúster: Los archivos que afectan a todo el clúster incluyen recursos como objetos ClusterRole, que agregan roles en todo el clúster que otorgan permisos.
  • Conexión de repositorios de espacios de nombres: El archivo de claves en esta configuración de varios repositorios es el archivo reposync-gamestore.yaml. Este objeto RepoSync le indica al Sincronizador de configuración que sincronice las configuraciones del espacio de nombres gamestore desde una ruta de acceso diferente. En este ejemplo, el objeto RepoSync apunta al directorio config-sync-quickstart/multirepo/ namespaces/gamestore dentro del mismo repositorio, pero, en una situación real, podrías apuntar a un repositorio de Git diferente.

El repositorio de espacios de nombres contiene configuraciones específicas de la aplicación para el espacio de nombres gamestore. Por ejemplo, el archivo configmap-inventory.yaml contiene datos de inventario para la aplicación gamestore. Este tipo de configuración de GitOps permite que los equipos de aplicaciones tengan más autonomía sobre sus propias implementaciones y recursos con permisos de espacios de nombres sin necesidad de modificar el repositorio raíz central.

Limpia

  1. Ve al menú de GKE en la consola de Google Cloud .

    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?