將 Azure Spring 應用程式基本或標準方案執行個體遷移至企業方案

注意

基本標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告

標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps

本文適用於: ✔️ 基本/標準 ✔️ 企業

本文說明如何將基本或標準方案中的現有應用程式遷移至企業方案。 當您從基本或標準方案遷移至企業方案時,VMWare Tanzu 元件會取代開放原始碼軟體 (OSS) Spring Cloud 元件,以提供更多功能支援。

本文使用寵物診所範例應用程式作為如何遷移的範例。

必要條件

  • Azure 訂用帳戶。 如果您沒有訂用帳戶,請先建立免費帳戶,再開始操作。
  • Azure CLI 2.45.0 版或更新版本。
  • Azure Spring 應用程式企業方案延伸模組。 使用下列命令來移除舊版並安裝最新的企業方案延伸模組。 如果您先前已安裝 spring-cloud 延伸模組,請將其解除安裝,以避免設定與版本不符。
    az extension add --upgrade --name spring
    az extension remove --name spring-cloud
    
  • Git

佈建服務執行個體

在 Azure Spring 應用程式企業方案中,VMWare Tanzu 元件會取代 OSS Spring Cloud 元件,以提供更多功能支援。 Tanzu 元件會根據您的需求視需要啟用。 您必須在建立 Azure Spring 應用程式服務執行個體之前,啟用所需的元件。

注意

若要使用 Tanzu 元件,您必須在佈建 Azure Spring Apps 服務執行個體時加以啟用。 您目前無法在佈建後將其啟用。

使用下列步驟來佈建 Azure Spring Apps 服務執行個體:

  1. 開啟 Azure 入口網站

  2. 在上方搜尋方塊中,搜尋 Azure Spring Apps

  3. 從結果中選取 [Azure Spring 應用程式],然後選取 [建立]

  4. 在 [建立 Azure Spring 應用程式] 頁面上,設定您的訂用帳戶資源群組,以及執行個體名稱

  5. 針對服務詳細資料中的方案,請選取 [變更]

    Azure 入口網站 Azure Spring 應用程式建立頁面的螢幕擷取畫面,其中已在 [方案] 區段中醒目提示 [變更] 按鈕。

  6. 在 [選擇您的方案] 頁面上,選取資料表中的 [企業版] 資料列,然後選取 [選取]

    Azure 入口網站 Azure Spring 應用程式建立頁面的螢幕擷取畫面,其中顯示 [基本] 區段和 [選擇定價層] 窗格。

  7. 回到 [建立 Azure Spring 應用程式] 頁面,選取 [條款],以同意 Azure Marketplace 中企業方案供應項目的法律條款和隱私權聲明。

  8. 選取 [下一步:VMWare Tanzu 設定]

  9. 在 [VMWare Tanzu 設定] 索引標籤上,捲動清單以檢閱 Tanzu 元件。 預設會啟用所有元件。

    Azure 入口網站 Azure Spring 應用程式建立頁面的螢幕擷取畫面,其中顯示 [VMWare Tanzu 設定] 區段。

    注意

    仔細考慮您想要在佈建階段使用或啟用的 Tanzu 元件。 佈建 Azure Spring Apps 執行個體之後,您無法啟用或停用 Tanzu 元件。

  10. 選取 [Application Insights] 索引標籤,然後選取 [啟用 Application Insights]。 檢閱下列設定:

    • 應選取 [啟用 Application Insights]
    • 選擇現有的 Application Insights 執行個體,或建立新的 Application Insights 執行個體。
    • 輸入 0-100 範圍內的取樣率,或使用預設值 10。

    您也可以在佈建 Azure Spring Apps 執行個體之後啟用 Application Insights。 如需 Application Insights 定價的詳細資訊,請參閱 Azure 監視器記錄成本計算和選項Application Insights 計費一節。

    注意

    與 Azure Spring Apps 整合時,您將支付 Application Insights 使用量的費用。

  11. 選取 [檢閱並建立] 並等候驗證完成,然後選取 [建立] 以開始佈建服務執行個體。

完成資源佈建大約需要 5 分鐘的時間。

建立及設定應用程式

應用程式建立步驟與標準方案相同。

  1. 使用下列命令設定 Azure CLI 預設值。 請務必將預留位置取代為您自己的值。

    az config set defaults.group=<resource-group-name>
    az config set defaults.spring=<Azure-Spring-Apps-service-instance-name>
    
  2. 使用下列命令為 PetClinic 建立兩個核心應用程式,api-gatewaycustomers-service

    az spring app create --name api-gateway --instance-count 1 --memory 2Gi --assign-endpoint
    az spring app create --name customers-service --instance-count 1 --memory 2Gi
    

使用應用程式設定服務進行外部設定

若要在分散式系統中進行外部設定,只能在基本和標準方案中使用受控 Spring Cloud Config Server (OSS)。 在企業方案中,適用於 Tanzu 的應用程式設定服務 (ACS) 可以為您的應用程式提供類似的功能。 下表說明 OSS 設定伺服器與應用程式設定服務之間的使用方式差異。

元件 支援方案 已啟用 繫結至應用程式 設定檔
Spring Cloud Config Server 基本和標準 一律啟用。 自動繫結 在應用程式的原始程式碼中設定。
適用於 Tanzu 的應用程式設定服務 Enterprise 隨選啟用。 手動繫結 在 Azure Spring 應用程式部署中以 config-file-pattern 提供。

不同於 OSS 設定伺服器中的用戶端-伺服器模式,應用程式設定服務會使用 Kube 原生 ConfigMap 來管理設定,而設定會從後端 Git 存放庫中定義的屬性填入。 應用程式設定服務無法取得在應用程式原始程式碼中設定的作用中設定檔,來比對正確的設定,因此應在 Azure Spring 應用程式部署層級指定明確的 config-file-pattern 設定。

設定適用於 Tanzu 的應用程式設定服務

請遵循下列步驟,以使用適用於 Tanzu 的應用程式設定服務做為集中式設定服務。

  1. 在 Azure Spring 應用程式企業版執行個體中,選取瀏覽窗格中的 [應用程式設定服務]。 檢視配置給適用於 Tanzu 的應用程式設定服務的執行狀態和資源。

    Azure 入口網站的螢幕擷取畫面,其中顯示 [應用程式設定服務] 頁面的 [概觀] 索引標籤。

  2. 選取 [設定],然後在 [存放庫] 中完成表單,以新增具有下列資訊的項目:

    • 名稱:default
    • 模式:api-gateway,customers-service
    • URI:https://github.com/Azure-Samples/spring-petclinic-microservices-config
    • 標籤:master

    Azure 入口網站的螢幕擷取畫面,其中顯示 [應用程式設定服務] 頁面的 [設定] 索引標籤。

  3. 選取 [驗證] 以驗證目標 URI 的存取權。

  4. 在驗證順利完成後,選取 [套用] 以更新組態設定。

將應用程式繫結至適用於 Tanzu 的應用程式設定服務

當您搭配 Git 後端使用適用於 Tanzu 的應用程式設定服務時,必須將應用程式繫結至適用於 Tanzu 的應用程式設定服務。 繫結應用程式之後,您必須設定應用程式將使用的模式。 使用下列步驟來繫結及設定應用程式的模式。

使用下列步驟將應用程式繫結至適用於 VMWare Tanzu 的應用程式設定服務。

  1. 在 Azure Spring 應用程式企業版執行個體中,選取瀏覽窗格中的 [應用程式設定服務]

  2. 選取 [應用程式繫結],然後選取 [繫結應用程式]

    Azure 入口網站的螢幕擷取畫面,其中顯示 [應用程式設定服務] 頁面的 [應用程式繫結] 索引標籤以及 [繫結應用程式] 下拉式功能表。

  3. 在下拉式功能表中選取一個應用程式,然後選取 [套用] 將應用程式繫結至適用於 Tanzu 的應用程式設定服務。

如需詳細資訊,請參閱使用 Tanzu 的應用程式設定服務

使用適用於 Tanzu 的服務登錄

服務登錄是其中一個專屬 VMware Tanzu 元件。 其可為您的應用程式提供實作服務探索模式,這是微服務型結構的其中一個關鍵概念。 在企業方案中,適用於 Tanzu 的服務登錄會提供服務登錄,並探索應用程式的支援。 受控 Spring Cloud Eureka 僅適用於基本和標準方案,並不適用於企業方案。

元件 標準方案 Enterprise 方案
服務登錄 OSS eureka
自動繫結 (一律插入)
一律佈建
適用於 Tanzu 的服務登錄
需要手動繫結至應用程式
隨選啟用

將應用程式繫結至 Tanzu 服務登錄

若要將應用程式繫結至適用於 VMWare Tanzu 的應用程式設定服務,請遵循下列步驟。

  1. 在 Azure Spring 應用程式企業版執行個體中,選取 [服務登錄]

  2. 選取 [應用程式繫結]。 目前繫結的應用程式會出現在 [應用程式名稱] 底下。

  3. 選取 [繫結應用程式]

  4. 在下拉式功能表中選取一個應用程式,然後選取 [套用] 將應用程式繫結至 Tanzu 服務登錄。

    Azure 入口網站 Azure Spring 應用程式的螢幕擷取畫面,其中顯示 [服務登錄] 頁面和 [繫結應用程式] 對話方塊。

注意

當您變更繫結/解除繫結狀態時,必須重新啟動或重新部署應用程式,使變更生效。

如需詳細資訊,請參閱使用 Tanzu 服務登錄

建置和部署應用程式

在企業方案中,Tanzu 組建服務用於建置應用程式。 其提供更多功能,例如多語種應用程式,以便從原始程式碼和 zip 檔案等成品進行部署。

若要使用 Tanzu Build Service,您必須指定要使用之建置工作和產生器的資源。 您也可以指定 --build-env 參數來設定建置環境。

如果應用程式與適用於 Tanzu 的應用程式設定服務繫結,您需要指定額外的引數 —config-file-pattern

如需詳細資訊,請參閱使用 Tanzu Build Service

在本機建置應用程式

使用下列步驟在本機建置:

  1. 使用下列命令將範例應用程式存放庫複製在您的 Azure 帳戶中、變更目錄,以及建置專案:

    git clone -b enterprise https://github.com/azure-samples/spring-petclinic-microservices
    cd spring-petclinic-microservices
    mvn clean package -DskipTests
    

    編譯專案可能需要幾分鐘的時間。 完成時,您會在每個服務各自的資料夾中具有個別 JAR 檔案。

  2. 使用下列命令部署在上一個步驟中建置的 JAR 檔案:

    az spring app deploy \
        --name api-gateway \
        --artifact-path spring-petclinic-api-gateway/target/spring-petclinic-api-gateway-2.3.6.jar \
        --config-file-patterns api-gateway
    az spring app deploy \
        --name customers-service \
        --artifact-path spring-petclinic-customers-service/target/spring-petclinic-customers-service-2.3.6.jar \
        --config-file-patterns customers-service
    
  3. 使用下列命令查詢部署後的應用程式狀態:

    az spring app list --output table
    

    此命令所產生的輸出與下列範例類似:

    Name                  Location    ResourceGroup       Public Url                                                 Production Deployment    Provisioning State    CPU    Memory    Running Instance    Registered Instance    Persistent Storage    Bind Service Registry    Bind Application Configuration Service
    --------------------  ----------  ---------------  ---------------------------------------------------------  -----------------------  --------------------  -----  --------  ------------------  ---------------------  --------------------  -----------------------  ----------------------------------------
    api-gateway           eastus      <resource group>   https://<service_name>-api-gateway.asc-test.net                    default                  Succeeded             1      2Gi       1/1                1/1                    -                     True                     True
    customers-service     eastus      <resource group>                                                                      default                  Succeeded             1      2Gi       1/1                1/1                    -                     True                     True
    

使用 Application Insights

Azure Spring 應用程式企業方案使用組建套件繫結將 Application InsightsApplicationInsights 類型整合 (而不是內含式代理程式)。 如需詳細資訊,請參閱如何設定 APM 整合和 CA 憑證

下表列出方案中可用的 APM 提供者。

標準方案 Enterprise 方案
Application Insight
New Relic
Dynatrace
AppDynamics
Application Insight
New Relic
Dynatrace
AppDynamics
ElasticAPM

若要檢查或更新 Application Insights 中的目前設定,請使用下列步驟:

  1. 在 Azure Spring 應用程式企業版執行個體中,選取 [Application Insights]

  2. 選取 [編輯繫結] 或 [解除繫結],以啟用或停用 Application Insights。

    Azure 入口網站 [Application Insights] 頁面的螢幕擷取畫面,其中顯示 [編輯繫結選項] 下拉式功能表。

  3. 選取 [編輯繫結]。 編輯繫結設定,然後選取 [儲存]

    Azure 入口網站 [編輯繫結] 窗格的螢幕擷取畫面。

下一步