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-serverAbre
manifest.yaml.Cambia la variable de entorno
GIT_URIpor 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 configurationPara cada aplicación que necesite obtener credenciales, ejecuta el siguiente comando:
kf bind-service application-name config-serverkf restart application-nameDe esta forma, se creará una entrada en la variable de entorno
VCAP_SERVICESpara 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.urien la ubicación adecuada para la aplicación. Normalmente, se trata de un archivoapplication.propertiesoapplication.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-serverkf restart application-nameElimina la entrada de servicio del servidor de configuración:
kf delete-service config-serverElimina 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_SERVICESpara saber cómo se puede usar en la detección de servicios.