將 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 服務執行個體:
開啟 Azure 入口網站。
在上方搜尋方塊中,搜尋 Azure Spring Apps。
從結果中選取 [Azure Spring 應用程式],然後選取 [建立]。
在 [建立 Azure Spring 應用程式] 頁面上,設定您的訂用帳戶、資源群組,以及執行個體名稱。
針對服務詳細資料中的方案,請選取 [變更]。
在 [選擇您的方案] 頁面上,選取資料表中的 [企業版] 資料列,然後選取 [選取]。
回到 [建立 Azure Spring 應用程式] 頁面,選取 [條款],以同意 Azure Marketplace 中企業方案供應項目的法律條款和隱私權聲明。
選取 [下一步:VMWare Tanzu 設定]。
在 [VMWare Tanzu 設定] 索引標籤上,捲動清單以檢閱 Tanzu 元件。 預設會啟用所有元件。
注意
仔細考慮您想要在佈建階段使用或啟用的 Tanzu 元件。 佈建 Azure Spring Apps 執行個體之後,您無法啟用或停用 Tanzu 元件。
選取 [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 使用量的費用。
選取 [檢閱並建立] 並等候驗證完成,然後選取 [建立] 以開始佈建服務執行個體。
完成資源佈建大約需要 5 分鐘的時間。
建立及設定應用程式
應用程式建立步驟與標準方案相同。
使用下列命令設定 Azure CLI 預設值。 請務必將預留位置取代為您自己的值。
az config set defaults.group=<resource-group-name> az config set defaults.spring=<Azure-Spring-Apps-service-instance-name>
使用下列命令為 PetClinic 建立兩個核心應用程式,
api-gateway
和customers-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 的應用程式設定服務做為集中式設定服務。
將應用程式繫結至適用於 Tanzu 的應用程式設定服務
當您搭配 Git 後端使用適用於 Tanzu 的應用程式設定服務時,必須將應用程式繫結至適用於 Tanzu 的應用程式設定服務。 繫結應用程式之後,您必須設定應用程式將使用的模式。 使用下列步驟來繫結及設定應用程式的模式。
使用下列步驟將應用程式繫結至適用於 VMWare Tanzu 的應用程式設定服務。
如需詳細資訊,請參閱使用 Tanzu 的應用程式設定服務。
使用適用於 Tanzu 的服務登錄
服務登錄是其中一個專屬 VMware Tanzu 元件。 其可為您的應用程式提供實作服務探索模式,這是微服務型結構的其中一個關鍵概念。 在企業方案中,適用於 Tanzu 的服務登錄會提供服務登錄,並探索應用程式的支援。 受控 Spring Cloud Eureka 僅適用於基本和標準方案,並不適用於企業方案。
元件 | 標準方案 | Enterprise 方案 |
---|---|---|
服務登錄 | OSS eureka 自動繫結 (一律插入) 一律佈建 |
適用於 Tanzu 的服務登錄 需要手動繫結至應用程式 隨選啟用 |
將應用程式繫結至 Tanzu 服務登錄
若要將應用程式繫結至適用於 VMWare Tanzu 的應用程式設定服務,請遵循下列步驟。
注意
當您變更繫結/解除繫結狀態時,必須重新啟動或重新部署應用程式,使變更生效。
如需詳細資訊,請參閱使用 Tanzu 服務登錄。
建置和部署應用程式
在企業方案中,Tanzu 組建服務用於建置應用程式。 其提供更多功能,例如多語種應用程式,以便從原始程式碼和 zip 檔案等成品進行部署。
若要使用 Tanzu Build Service,您必須指定要使用之建置工作和產生器的資源。 您也可以指定 --build-env
參數來設定建置環境。
如果應用程式與適用於 Tanzu 的應用程式設定服務繫結,您需要指定額外的引數 —config-file-pattern
。
如需詳細資訊,請參閱使用 Tanzu Build Service。
在本機建置應用程式
使用下列步驟在本機建置:
使用下列命令將範例應用程式存放庫複製在您的 Azure 帳戶中、變更目錄,以及建置專案:
git clone -b enterprise https://github.com/azure-samples/spring-petclinic-microservices cd spring-petclinic-microservices mvn clean package -DskipTests
編譯專案可能需要幾分鐘的時間。 完成時,您會在每個服務各自的資料夾中具有個別 JAR 檔案。
使用下列命令部署在上一個步驟中建置的 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
使用下列命令查詢部署後的應用程式狀態:
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 Insights 與 ApplicationInsights
類型整合 (而不是內含式代理程式)。 如需詳細資訊,請參閱如何設定 APM 整合和 CA 憑證。
下表列出方案中可用的 APM 提供者。
標準方案 | Enterprise 方案 |
---|---|
Application Insight New Relic Dynatrace AppDynamics |
Application Insight New Relic Dynatrace AppDynamics ElasticAPM |
若要檢查或更新 Application Insights 中的目前設定,請使用下列步驟: