本文件說明如何在 Kf 叢集中部署 Spring Cloud 設定。
Spring Cloud 設定提供一種方法,可將應用程式程式碼與其執行階段設定分離。Spring Cloud Config 設定伺服器可從 Git 存放區、本機檔案系統、HashiCorp Vault 伺服器或 Cloud Foundry CredHub 讀取設定檔。設定伺服器讀取設定後,即可將該設定格式化並以 YAML、Java 屬性或 JSON 格式透過 HTTP 提供。
事前準備
您需要安裝 Kf 的叢集,並能存取 Kf CLI。
此外,您還需要下列軟體:
git
:您必須使用 Git 複製存放區。
下載 Spring Cloud 設定伺服器
如要下載設定伺服器來源,請按照下列步驟操作:
- 開啟終端機。
複製設定伺服器的來源:
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 Config 支援的設定來源類型。
- 瞭解
VCAP_SERVICES
環境變數的結構,以便瞭解如何將其用於服務探索。