雲原生 .NET Aspire 8.1 新增對 構建容器、編排 Python的支援

张善友發表於2024-07-30

.NET Aspire 用於雲原生應用開發,提供用於構建、測試和部署分散式應用的框架,這些應用通常利用微服務、容器、無伺服器體系結構等雲構造。2024年7月23日宣佈的新 8.1 版本是該平臺自 5 月正式釋出以來的第一次重大更新,Microsoft 對 .NET Aspire 的第一個重大更新Aspire 8.1解決了容器映象的構建和 Python 程式碼的編排以及一系列新功能和增強功能的問題。

Aspire 框架本身可以稱為分散式框架,因為它位於 NuGet 包的集合中,可用於在 Visual Studio、Visual Studio Code 或命令列中構建應用。

image

Microsoft的Mitch Denny在7月23日的.NET Aspire 8.1公告中說:“這個版本包括一些新功能和生活質量改進,這些反饋來自在生產應用程式中使用.NET Aspire的開發人員的反饋。他強調了此更新的兩個具體功能:支援使用 AddDockerfile(...) 構建容器映象,以及使用 AddPythonProject(...)編排 Python 程式碼.


容器映象
使用在應用程式主機執行時自動構建 Docker 檔案的方法AddDockerfile(...),該方法WithDockerfile(...)還可以幫助開發人員透過允許輕鬆編輯和與現有資源整合來自動化 Dockerfile 構建和定製。因此,前者非常適合建立新的容器資源,而後者則用於修改現有的容器映象。

這兩種方法都支援構建引數和金鑰,使開發人員能夠將引數和敏感資訊保安地傳遞給 Docker 構建過程,同時避免在應用程式清單中意外洩露。

Denny 說:“這意味著您可以快速編輯 Dockerfile,並依賴 .NET Aspire 來構建它們,而無需自己手動構建。


編排 Python 程式碼


Denny 強調的第二個主要特性是透過程式碼編排方法增強了對多語言微服務架構的支援。在 .NET Aspire 中,業務流程主要側重於透過簡化雲原生應用的配置和互連的管理來增強本地開發體驗。

該方法由 Willem Meints 貢獻,允許開發人員啟動基於 Python 的服務。要使用它,開發人員需要安裝 Python 託管包並將 Python 資源新增到他們的應用程式模型中。該方法AddPythonProject(...)利用 Python 的虛擬環境 (venv) 工具,需要手動安裝檔案中指定的依賴項。此外,如果包含依賴項,它將在 .NET Aspire 儀表板中啟用遙測。但是,由於 OpenTelemetry 庫的限制,必須在環境變數設定為 的情況下執行應用程式。requirements.txtopentelemetry-distro[otlp]ASPIRE_ALLOW_UNSECURED_TRANSPORTtrue

Python 支援加入了對 Node.js 應用的現有支援。


Denny的文章還提供了有關以下內容的詳細資訊:

  • 容器化擴充套件中提供的新資源型別和元件,範圍從 Kafka UI 到 Azure Web PubSub
  • 測試改進(更易於編寫需要等待資源初始化的測試用例)
  • 指標示例(聚合資料的示例資料點)
  • 跨度連結(在跨度之間建立關係)
  • 改進了例項 ID 名稱(友好的例項 ID 而不是難以閱讀的 GUID)

有關詳細資訊,請參閱 Microsoft 的 .NET Aspire 中的新增功能文件。

相關文章