部署 Spring Cloud Config

本文档介绍如何在 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 配置服务器

如需下载配置服务器源代码,请执行以下操作:

  1. 打开终端。
  2. 克隆配置服务器的源代码:

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

配置和部署配置服务器

如要更新实例的设置,请执行以下操作:

  1. 转到 spring-cloud-config-server 目录:

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

  3. GIT_URI 环境变量更改为 Git 配置服务器的 URI。

  4. (可选)更改清单中应用的名称。

  5. (可选)修改 src/main/resources/application.properties配置其他属性或备用属性来源

  6. 不使用外部路由部署配置服务器。如果您要更改清单中应用的名称,请在此处更新:

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

将应用绑定到配置服务器

您可以创建一个用户提供的服务,将已部署的配置服务器绑定到同一集群或命名空间中的其他 Kf 应用。

配置方式取决于您所使用的库:

PCF 应用

使用 Pivotal 的 Spring Cloud Services 客户端库的现有 PCF 应用可以使用以下方法进行绑定:

  1. 创建名为 config-server 的用户提供的服务。每个配置服务器只需执行此步骤一次:

    kf cups config-server -p '{"uri":"http://spring-cloud-config"}' -t configuration
  2. 对于需要获取凭据的每个应用,请运行以下命令:

    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.propertiesapplication.yaml 文件。
  • 如需了解其他框架,请参阅库的参考信息。

删除配置服务器

如要移除配置服务器,请执行以下操作:

  1. 如要移除配置服务器上的所有绑定,请为每个绑定应用程序运行以下命令:

    kf unbind-service application-name config-server
    kf restart application-name
  2. 移除配置服务器的服务条目:

    kf delete-service config-server
  3. 删除配置服务器应用:

    kf delete spring-cloud-config

后续步骤