本文档介绍如何在 Kf 集群中部署 Spring Cloud Config。
Spring Cloud Config 提供了一种将应用代码与其运行时配置分离的方法。Spring Cloud Config 配置服务器可以从 Git 代码库、本地文件系统、HashiCorp Vault 服务器或 Cloud Foundry CredHub 读取配置文件。配置服务器读取配置后,它可以格式化该配置,并将其用作 YAML、Java 属性或 HTTP 上的 JSON。
准备工作
您需要安装有 Kf 的集群以及 Kf CLI 的访问权限。
此外,您还需要以下软件:
git
:需要 Git 才能克隆代码库。
下载 Spring Cloud Config 配置服务器
如需下载配置服务器源代码,请执行以下操作:
- 打开终端。
克隆配置服务器的源代码:
git clone --depth 1 "https://github.com/google/kf"
配置和部署配置服务器
如要更新实例的设置,请执行以下操作:
转到
spring-cloud-config-server
目录:cd kf/spring-cloud-config-server
打开
manifest.yaml
。将
GIT_URI
环境变量更改为 Git 配置服务器的 URI。(可选)更改清单中应用的名称。
(可选)修改
src/main/resources/application.properties
以配置其他属性或备用属性来源。不使用外部路由部署配置服务器。如果您要更改清单中应用的名称,请在此处更新:
kf push --no-route spring-cloud-config
将应用绑定到配置服务器
您可以创建一个用户提供的服务,将已部署的配置服务器绑定到同一集群或命名空间中的其他 Kf 应用。
配置方式取决于您所使用的库:
PCF 应用
使用 Pivotal 的 Spring Cloud Services 客户端库的现有 PCF 应用可以使用以下方法进行绑定:
创建名为 config-server 的用户提供的服务。每个配置服务器只需执行此步骤一次:
kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configuration
对于需要获取凭据的每个应用,请运行以下命令:
kf bind-service application-name config-server
kf restart application-name
此操作会在配置服务器的
VCAP_SERVICES
环境变量中创建一个条目。
其他应用
可直接连接到 Spring Cloud Config 配置服务器的应用应使用其集群内部 URI 来访问该服务器:
http://spring-cloud-config
- 对于使用 Spring Cloud Config 客户端库的 Spring 应用,您可以在应用的相应位置设置
spring.cloud.config.uri
属性。这通常是application.properties
或application.yaml
文件。 - 如需了解其他框架,请参阅库的参考信息。
删除配置服务器
如要移除配置服务器,请执行以下操作:
如要移除配置服务器上的所有绑定,请为每个绑定应用程序运行以下命令:
kf unbind-service application-name config-server
kf restart application-name
移除配置服务器的服务条目:
kf delete-service config-server
删除配置服务器应用:
kf delete spring-cloud-config
后续步骤
- 详细了解 Spring Cloud 配置支持的配置来源的类型。
- 了解
VCAP_SERVICES
环境变量的结构,以了解其用于服务发现的方式。