Configurar un servidor de Spring Cloud Config

En este módulo, configurará un servidor de Spring Cloud Config que se administrará por completo mediante Azure Spring Cloud y será compatible con este, a fin de que lo usen los microservicios de Spring Boot.

Este servidor de Spring Cloud Config obtendrá sus datos de configuración de un repositorio de GIT, donde se almacenarán los archivos de configuración de Spring Boot. El almacenamiento de los archivos de configuración con este mecanismo tiene las ventajas siguientes:

  • Los parámetros confidenciales de la aplicación (como la contraseña de la base de datos) no se insertarán en el código de la aplicación.
  • El repositorio de Git que almacena la configuración se puede proteger de forma específica, de modo que solo tenga acceso a él el equipo de operaciones.
  • A medida que los archivos de configuración se almacenan en Git, puede etiquetarlos o revertirlos, lo que facilita la administración del entorno de producción.
  • Proporciona un lugar centralizado para almacenar todos los datos de configuración para todos los microservicios.

Creación de un repositorio de GIT para almacenar la configuración de la aplicación

En la cuenta de GitHub, cree un repositorio privado en el que se almacenarán las configuraciones de Spring Boot.

En el nuevo repositorio de GitHub privado, agregue un nuevo archivo application.yml para almacenar los datos de configuración de todos los microservicios.

Normalmente, cada aplicación de Spring Boot incluye un archivo de este tipo en los archivos binarios de la aplicación para que contenga la configuración de la aplicación. Un servidor de configuración de Spring Cloud permite almacenar esta configuración fuera de la aplicación, lo que aporta las ventajas siguientes:

  • Permite almacenar parámetros confidenciales (como la contraseña de la base de datos) fuera de la aplicación.
  • La configuración se almacena en un repositorio de GIT, por lo que sus datos se pueden etiquetar o revertir.
  • Usa un repositorio de GIT específico, que se puede proteger por separado.
  • Proporciona un lugar centralizado para almacenar todos los datos de configuración para todos los microservicios.

Por el momento, nuestro archivo application.yml solo almacenará un mensaje para comprobar si la configuración es correcta:

application:
    message: Configured by Azure Spring Cloud

Confirme e inserte el nuevo archivo:

git add application.yml
git commit -m 'Add new Spring Boot configuration file'
git push

Creación de un token personal de GitHub

Azure Spring Cloud puede acceder a los repositorios de Git públicos, protegidos mediante SSH o protegidos mediante la autenticación HTTP básica. Usaremos esa última opción, ya que es más fácil de crear y administrar con GitHub.

Siga la guía de GitHub para crear un token personal y guarde el token. Cuando se le pida que seleccione los ámbitos, desactive toda la sección "repo" (como se muestra a continuación) y nada más.

Token de acceso personal de GitHub

Una vez generado el token, deje la pestaña abierta hasta el final de esta sección.

Configuración de Azure Spring Cloud para acceder al repositorio de GIT

  1. Vaya a Azure Portal.

  2. Vaya a la página de información general del servidor de Azure Spring Cloud y seleccione "Config server" (Servidor de configuración) en el menú.

  3. Configure el repositorio que hemos creado anteriormente:

    1. Agregue la dirección URL del repositorio, por ejemplo, https://github.com/<YOUR_USERNAME>/azure-spring-cloud-config o git@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git.

    Sugerencia

    Asegúrese de incluir la terminación .git en la dirección URL o use el URI completo.

    1. Agregue la rama en Label. El valor predeterminado es main en GitHub, pero los repositorios más antiguos o los proveedores de Git alternativos pueden seguir usando master.
    2. Haga clic en Autenticación y seleccione HTTP básico.
    3. El nombre de usuario es el nombre de inicio de sesión de GitHub.
    4. La contraseña es el token personal que creamos en la sección anterior.
  4. Haga clic en Aplicar y espere a que la operación se complete correctamente.

  5. Haga clic en Validar y espere a que la operación se complete correctamente.

Servidor de Spring Cloud Config

Revisión

Hemos creado un repositorio de configuración privado y hemos habilitado Azure Spring Cloud para crear un servidor de configuración con los archivos de configuración de este repositorio.

En la siguiente sección, crearemos una aplicación que consumirá esta configuración, más concretamente el mensaje personalizado que definimos en el archivo application.yml.

Comprobación de conocimientos

1.

En Azure Spring Cloud, ¿qué mecanismos de seguridad admite el servidor de Spring Cloud Config?

2.

Spring Cloud Config es una solución excelente porque: