En este documento se muestra cómo desplegar Spring Cloud Config en un clúster de Kf.
Spring Cloud Config proporciona una forma de desacoplar el código de la aplicación de su configuración de tiempo 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 de HashiCorp Vault o de Cloud Foundry CredHub. Una vez que el servidor de configuración haya leído la configuración, podrá darle formato y servirla como YAML, propiedades de Java o JSON a través de HTTP.
Antes de empezar
Necesitarás un clúster con Kf instalado y acceso a la CLI de Kf.
Además, necesitará el siguiente software:
git
: se necesita Git para clonar un repositorio.
Descargar el servidor de configuración de Spring Cloud Config
Para descargar la fuente del servidor de configuración:
- Abre la terminal.
Clona la fuente del servidor de configuración:
git clone --depth 1 "https://github.com/google/kf"
Configurar y desplegar un servidor de configuración
Para actualizar la configuración de la instancia, siga estos pasos:
Cambia al directorio
spring-cloud-config-server
:cd kf/spring-cloud-config-server
Abre
manifest.yaml
.Cambia la variable de entorno
GIT_URI
por el URI de tu servidor de configuración de Git.Si quieres, cambia el nombre de la aplicación en el manifiesto.
También puede configurar propiedades adicionales o fuentes de propiedades alternativas editando
src/main/resources/application.properties
.Despliega el servidor de configuración sin una ruta externa. Si has cambiado el nombre de la aplicación en el manifiesto, actualízalo aquí:
kf push --no-route spring-cloud-config
Vincular 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 de configurarlos dependerá de la biblioteca que utilices:
Aplicaciones PCF
Las aplicaciones de PCF que usen la biblioteca de cliente de Spring Cloud Services de Pivotal se pueden vincular con el siguiente método:
Crea un servicio proporcionado por el usuario llamado config-server. Este paso solo se tiene que hacer una vez por servidor de configuración:
kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configuration
Para cada aplicación que necesite obtener credenciales, ejecuta el siguiente comando:
kf bind-service application-name config-server
kf restart application-name
De esta forma, se creará una entrada en la variable de entorno
VCAP_SERVICES
para el servidor de configuración.
Otras aplicaciones
Las aplicaciones que puedan conectarse directamente a un servidor de configuración de Spring Cloud deben configurarse para acceder a él mediante su URI interno de clúster:
http://spring-cloud-config
- En el caso de las aplicaciones Spring que usan la biblioteca de cliente Spring Cloud Config, se puede definir la propiedad
spring.cloud.config.uri
en la ubicación adecuada para la aplicación. Normalmente, se trata de un archivoapplication.properties
oapplication.yaml
. - En el caso de otros frameworks, consulta la información de referencia de tu biblioteca.
Eliminar el servidor de configuración
Para quitar un servidor de configuración, sigue estos pasos:
Elimina todas las vinculaciones al servidor de configuración ejecutando los siguientes comandos para cada aplicación vinculada:
kf unbind-service application-name config-server
kf restart application-name
Elimina la entrada de servicio del servidor de configuración:
kf delete-service config-server
Elimina la aplicación del servidor de configuración:
kf delete spring-cloud-config
Siguientes pasos
- Consulta más información sobre los tipos de fuentes de configuración que admite Spring Cloud Config.
- Consulta información sobre la estructura de la variable de entorno
VCAP_SERVICES
para saber cómo se puede usar en la detección de servicios.