設定 Spring Cloud 設定伺服器

已完成

在本課程模組中,您將設定 Spring Cloud 設定伺服器 (其會完全由 Azure Spring 應用程式管理和支援) 以供 Spring Boot 微服務使用。

此 Spring Cloud Config Server 會從 Git 存放庫 (Spring Boot 設定檔的儲存位置) 取得其設定資料。 使用這項機制來儲存設定檔有以下優點:

  • 應用程式的敏感性參數 (如資料庫密碼) 將不會簽入到應用程式的程式碼內。
  • 儲存設定的 Git 存放庫可受到保護,如此一來,只有營運小組能夠存取該存放庫。
  • 當設定檔儲存在 Git 中時,便可加以標記或復原,因此可輕鬆地管理生產環境。
  • 其可提供集中的位置供您儲存所有微服務的所有設定資料。

建立用來儲存應用程式設定的 Git 存放庫

GitHub 帳戶上建立新的私人存放庫,以供儲存 Spring Boot 設定。

在新的私人 GitHub 存放庫中,新增 application.yml 檔案,用來儲存所有微服務的設定資料。

一般來說,每個 Spring Boot 應用程式都會在應用程式二進位檔內納入這樣的檔案,以包含應用程式設定。 Spring Cloud 設定伺服器允許將這類設定儲存在應用程式外部,其提供下列好處:

  • 其可讓您將敏感性參數 (如資料庫密碼) 儲存在應用程式之外。
  • 設定會儲存在 Git 存放庫中,因此其資料可加以標記或復原。
  • 其會使用特定的 Git 存放庫,並可分開來保護。
  • 其可提供集中的位置供您儲存所有微服務的所有設定資料。

目前,我們的 application.yml 只會儲存一則訊息,以檢查設定是否成功:

application:
    message: Configured by Azure Spring Apps

認可並推送新檔案:

git add application.yml
git commit -m 'Add new Spring Boot configuration file'
git push

建立 GitHub 個人權杖

Azure Spring 應用程式可存取由 SSH 保護,或使用 HTTP 基本驗證加以保護的公開 Git 存放庫。 我們會使用最後一個選項,這個選項比較容易使用 GitHub 來建立和管理。

請遵循 GitHub 指南來建立個人權杖並儲存您的權杖。 當系統要求您選取範圍時,請核取整個「存放庫」區段就好,不要核取其他項目。

Screenshot that shows the GitHub personal access token settings.

權杖產生之後,請讓該索引標籤保持開啟,直到這一節結束為止。

設定 Azure Spring 應用程式以存取 Git 存放庫

  1. 前往 Azure 入口網站並搜尋 Azure Spring 應用程式

  2. 移至 Azure Spring 應用程式伺服器的 [概觀] 頁面,然後在功能表中選取 [Config Server]

  3. 設定您先前建立的存放庫:

    1. 新增存放庫 URL,例如 https://github.com/<YOUR_USERNAME>/azure-spring-cloud-configgit@github.com:<YOUR_USERNAME>/azure-spring-cloud-config.git

      提示

      確定在 URL 中包含 .git 結尾,或使用完整 URI。

    2. Label 中新增分支。 其預設會使用 GitHub 上的 main,但較舊的存放庫或其他 Git 提供者仍然可能使用 master

    3. 選取 [驗證],然後選取 [HTTP 基本]

    4. [使用者名稱] 是您的 GitHub 登入名稱。

    5. [密碼] 是我們在上一節建立的個人權杖。

    Screenshot of the Spring Cloud config server settings.

  4. 選取 [驗證] 並等待作業執行成功。

  5. 選取 [套用] 並等候作業執行成功。

檢閱

我們建立了私人設定存放庫。 我們也啟用了 Azure Spring 應用程式,以使用來自此存放庫的設定檔建立設定伺服器。

檢定您的知識

1.

在 Azure Spring 應用程式上,Spring Cloud 設定伺服器支援哪些安全性機制?

2.

使用 Spring Cloud Config 是非常好的解決方案,原因是: