使用 Tanzu 建置服務
注意
基本、標準和企業方案將從 2025 年 3 月中旬開始淘汰,並停用 3 年。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 Azure Spring Apps 淘汰公告。
標準 耗用量和專用 方案將從 2024 年 9 月 30 日起淘汰,並在六個月後完成關閉。 建議您轉換至 Azure Container Apps。 如需詳細資訊,請參閱 將 Azure Spring Apps 標準取用和專用方案遷移至 Azure Container Apps。
本文適用於:❌基本/標準 ✔️ Enterprise
本文說明如何使用 VMware Tanzu Build Service 搭配 Azure Spring Apps Enterprise 方案。
VMware Tanzu Build Service 可自動化企業規模的容器建立、管理和治理。 Tanzu Build Service 會使用開放原始 碼的 Cloud Native Buildpacks 專案,將應用程式原始程式碼轉換成容器映像。 它會執行與新式容器標準一致的可重現組建,並讓映像保持在最新狀態。
Buildpacks
VMware Tanzu Buildpacks 提供應用程式的架構和運行時間支援。 Buildpack 通常會檢查您的應用程式,以判斷要下載哪些相依性,以及如何設定應用程式與系結服務通訊。
語言系列組建套件是複合組建套件,可為最受歡迎的語言執行平臺和應用程式元件提供簡單的現成支援。 這些組建套件會將多個元件組建套件合併成已排序的群組。 群組滿足每個buildpack的需求。
建立器
建立 器 是 Tanzu Build Service 資源。 Builder 包含一組組建套件,以及 建置原始程式碼程式中使用的堆疊 。
建置代理程式集區
企業方案中的 Tanzu Build Service 是容器化來自原始程式碼和成品之使用者應用程式的進入點。 有一個專用的組建代理程式集區,可針對指定數目的並行建置工作保留計算資源。 組建代理程式集區可防止資源爭用執行中的應用程式。
下表顯示組建代理程式集區擴充集可用的大小:
擴展集 | CPU/Gi |
---|---|
S1 | 2 個 vCPU,4 Gi |
S2 | 3 個 vCPU,6 Gi |
S3 | 4 個 vCPU,8 Gi |
S4 | 5 個 vCPU,10 Gi |
S5 | 6 個 vCPU,12 Gi |
S6 | 8 個 vCPU,16 Gi |
S7 | 16 個 vCPU、32 Gi |
S8 | 32 個 vCPU,64 Gi |
S9 | 64 個 vCPU,128 Gi |
Tanzu 建置服務最多允許一個集區大小的建置工作來建置,並將集區大小的建置工作排入佇列兩次。 如果代理程式集區的配額不足以用於建置工作,則此組建的要求會取得下列錯誤: The usage of build results in Building or Queuing status are (cpu: xxx, memory: xxxMi) and the remained quota is insufficient for this build. please retry with smaller size of build resourceRequests, retry after the previous build process completed or increased your build agent pool size
。
設定組建代理程式集區
當您使用 Azure 入口網站 建立新的 Azure Spring Apps Enterprise 服務實例時,您可以使用 [VMware Tanzu 設定] 索引卷標來設定提供給組建代理程式集區的資源數目。
下圖顯示成功布建服務實例之後,提供給 Tanzu 建置服務代理程式集區的資源。 您也可以在建立服務實例之後,在這裡更新設定的代理程式集區大小。
依需求建置服務
當您建立 Azure Spring Apps 企業版方案實例時,您可以啟用或停用建置服務。
建置和部署特性
根據預設,會啟用 Tanzu Build Service,讓您可以使用容器登錄。 如果您停用建置服務,則只能使用自訂容器映像來部署應用程式。 下列選項可供您選擇:
啟用建置服務,並使用 Azure Spring Apps 受控容器登錄。
Azure Spring Apps 提供受控 Azure Container Registry,以儲存應用程式的建置映像。 您只能以一個命令的形式一起執行建置和部署,但不能個別執行。 您可以使用建置的容器映像,只部署相同服務實例中的應用程式。 其他 Azure Spring Apps Enterprise 服務實例無法存取這些映像。
啟用建置服務,並使用您自己的容器登錄。
此案例會將組建與部署分開。 您可以從應用程式的原始碼或成品,執行組建到容器映像,與應用程式部署分開。 您可以儲存在自己的容器登錄中的容器映像部署到多個 Azure Spring Apps Enterprise 服務實例。
停用建置服務。
當您停用建置服務時,只能使用容器映像來部署應用程式,您可以從任何 Azure Spring Apps Enterprise 服務實例進行建置。
設定組建服務設定
您可以使用 Azure 入口網站 或 Azure CLI 來設定 Tanzu 建置服務和容器登錄設定。
在布建 Azure Spring Apps 服務實例時,請使用下列步驟來啟用 Tanzu Build Service:
開啟 Azure 入口網站。
在 [基本] 索引標籤上,選取 [定價] 區段中的 [企業層],然後指定必要的資訊。
選取 [下一步:VMWare Tanzu 設定]。
在 [ VMware Tanzu 設定 ] 索引標籤上,選取 [ 啟用建置服務]。 針對 容器登錄,預設設定為 使用受控 Azure Container Registry 來儲存建置的映射。
如果您選取 [使用自己的容器登錄] 來儲存 Container Registry 的建置映射 (預覽),請提供容器登錄的伺服器、使用者名稱和密碼。
如果您停用 [ 啟用建置服務],則不會提供容器登錄選項,但您可以使用容器映像來部署應用程式。
選取 [檢閱和建立]。
部署 polyglot 應用程式
您可以在已啟用或停用 Tanzu Build Service 的 Azure Spring Apps Enterprise 服務實例中部署 Polyglot 應用程式。 如需詳細資訊,請參閱 如何在 Azure Spring Apps Enterprise 中部署 Polyglot 應用程式。
設定 APM 整合和 CA 憑證
透過使用 Tanzu 合作夥伴 Buildpack 和 CA 憑證 Buildpack,Azure Spring Apps Enterprise 方案提供簡化的設定體驗,以支援應用程式效能監視器 (APM) 整合。 此整合包括 Polyglot 應用程式的證書頒發機構單位 (CA) 憑證整合案例。 如需詳細資訊,請參閱 如何設定 APM 整合和 CA 憑證。
即時建置記錄
從 Azure CLI 命令部署應用程式時,就會觸發建置工作。 組建記錄會即時串流,作為 CLI 命令輸出的一部分。 如需使用組建記錄來診斷問題的相關信息,請參閱 使用診斷設定來分析記錄和計量。
建置歷程記錄
您可以在 Azure Spring Apps 建置服務頁面的 [組建] 區段中看到所有組建資源。
[組建] 區段中的資料表包含下列資料列:
- 組建名稱:組建的名稱。
- 布建狀態:組建的布建狀態。 這些值包括
Succeeded
、Failed
、Updating
和Creating
。 布建狀態Updating
和Creating
表示在目前的組建完成之前,無法更新組建。 布建狀態Failed
表示最新的原始程式碼組建無法產生新的建置結果。 - 資源配額:組建 Pod 中的資源配額。
- 建立器:建置中使用的產生器。
- 最新組建結果:組建的最新組建結果映像標記。
- 最新的組建結果布建狀態:組建的最新組建結果布建狀態。 這些值包括
Queuing
、Building
、Succeeded
和Failed
。 - 最新的建置結果上次轉換時間:組建最新組建結果的最後一個轉換時間。
- 最新的建置結果上次轉換原因:組建最新組建結果的最後轉換原因。 這些值則為
CONFIG
、STACK
和BUILDPACK
。CONFIG
表示建置結果會由建置器更新或新的原始程式碼部署作業變更。STACK
表示堆疊升級會變更組建結果。BUILDPACK
表示組建結果會由 buildpack 升級變更。 - 最新的建置結果上次轉換狀態:組建最新組建結果的最後一個轉換狀態。 值為
True
和False
。
針對 [ 布建狀態],當值為 Failed
時,請再次部署原始程式碼。 如果錯誤持續發生,請建立支援票證。
針對 最新的建置結果布建狀態,當值為 Failed
時,請檢查組建記錄。 如需詳細資訊,請參閱 針對 Azure Spring Apps 中的常見建置問題進行疑難解答。
如需 最新的建置結果上次轉換狀態,當值為 Failed
時,請參閱 最新的建置結果上次轉換原因 數據行。 如果原因為 BUILDPACK
或 STACK
,則不需要採取任何動作。 如果原因是 CONFIG
,請再次部署原始程式碼。 如果錯誤持續發生,請建立支援票證。