部署 Spring Cloud 設定

本文說明如何在 Kf 叢集中部署 Spring Cloud Config。

Spring Cloud Config 可讓您將應用程式程式碼與執行階段設定分離。Spring Cloud Config 設定伺服器可以從 Git 存放區、本機檔案系統、HashiCorp Vault 伺服器Cloud Foundry CredHub 讀取設定檔。設定伺服器讀取設定後,即可透過 HTTP 將設定格式化為 YAML、Java 屬性或 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

後續步驟