Implementar Spring Cloud Config

En este documento, se muestra cómo implementar Spring Cloud Config en un clúster de Kf.

Spring Cloud Config proporciona una forma de separar el código de la aplicación de la configuración del entorno de ejecución. El servidor de configuración de Spring Cloud Config puede leer archivos de configuración de repositorios de Git, del sistema de archivos local, de Servidores HashiCorp Vault o de CredHub de Cloud Foundry. Una vez que el servidor de configuración haya leído la configuración, puede formatearla y entregarla esa configuración como YAML, propiedades de Java o JSON a través de HTTP.

Antes de comenzar

Necesitarás un clúster con Kf instalado y acceso a la CLI de Kf.

Además, necesitarás el siguiente software:

  • git: Se requiere Git para clonar un repositorio

Descarga el servidor de configuración de Spring Cloud Config

Para descargar la fuente del servidor de configuración, haz lo siguiente:

  1. Abre una terminal.
  2. Clona la fuente para el servidor de configuración:

    git clone --depth 1 "https://github.com/google/kf"

Configura e implementa un servidor de configuración

Para actualizar la configuración de la instancia, sigue estos pasos:

  1. Cambia el directorio a spring-cloud-config-server:

    cd kf/spring-cloud-config-server
  2. Abre manifest.yaml.

  3. Cambia la variable de entorno GIT_URI al URI del servidor de configuración de Git.

  4. De manera opcional, puedes cambiar el nombre de la aplicación en el manifiesto.

  5. De manera opcional, puedes configurar propiedades adicionales o fuentes de propiedades alternativas si editas src/main/resources/application.properties.

  6. Implementa el servidor de configuración sin una ruta externa. Si cambiaste el nombre de la aplicación en el manifiesto, actualízala aquí:

    kf push --no-route spring-cloud-config

Vincula aplicaciones al servidor de configuración

Puedes crear un servicio proporcionado por el usuario para vincular el servidor de configuración implementado a otras aplicaciones de Kf en el mismo clúster o espacio de nombres.

La forma en que las configures dependerá de la biblioteca que uses:

Aplicaciones de PCF

Las aplicaciones de PCF existentes que usan la biblioteca cliente de Spring Cloud Services de Pivotal pueden vincularse con el siguiente método:

  1. Crea un servicio proporcionado por el usuario con el nombre config-server. Este paso solo debe realizarse una vez por servidor de configuración:

    kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configuration
  2. Ejecuta el siguiente comando para cada aplicación que necesite obtener credenciales:

    kf bind-service application-name config-server
    kf restart application-name

    Esto creará una entrada en la variable de entorno VCAP_SERVICES para el servidor de configuración.

Otras aplicaciones

Las aplicaciones que pueden conectarse directamente a un servidor de configuración de Spring Cloud Config deben configurarse para acceder a él mediante el URI interno del clúster:

http://spring-cloud-config
  • En las aplicaciones de Spring que usan la biblioteca cliente de Spring Cloud Config, se puede establecer la propiedad spring.cloud.config.uri en la ubicación adecuada para tu aplicación. Por lo general, es un archivo application.properties o application.yaml.
  • Para ver otros frameworks, consulta la información de referencia de tu biblioteca.

Borra el servidor de configuración

Para quitar un servidor de configuración, sigue estos pasos:

  1. Quita todas las vinculaciones del servidor de configuración. Para ello, ejecuta los siguientes comandos para cada aplicación vinculada:

    kf unbind-service application-name config-server
    kf restart application-name
  2. Quita la entrada de servicio del servidor de configuración:

    kf delete-service config-server
  3. Borra la aplicación del servidor de configuración:

    kf delete spring-cloud-config

¿Qué sigue?