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:
- Abre una terminal.
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:
Cambia el directorio a
spring-cloud-config-server
:cd kf/spring-cloud-config-server
Abre
manifest.yaml
.Cambia la variable de entorno
GIT_URI
al URI del servidor de configuración de Git.De manera opcional, puedes cambiar el nombre de la aplicación en el manifiesto.
De manera opcional, puedes configurar propiedades adicionales o fuentes de propiedades alternativas si editas
src/main/resources/application.properties
.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:
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
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 archivoapplication.properties
oapplication.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:
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
Quita la entrada de servicio del servidor de configuración:
kf delete-service config-server
Borra la aplicación del servidor de configuración:
kf delete spring-cloud-config
¿Qué sigue?
- Obtén más información sobre los tipos de fuentes de configuración compatibles con Spring Cloud Config.
- Obtén más información sobre la estructura de la variable de entorno
VCAP_SERVICES
para comprender cómo se puede usar para el descubrimiento de servicios.