正式釋出丨AKS上的Dapr、ML、Gitops擴充套件

微軟技術棧發表於2022-07-15

我們很高興地宣佈在 Azure Kubernetes  Service(以下簡稱AKS)上啟用的 Dapr、Azure 機器學習和 GitOps 三項新功能正式釋出,可以通過稱為“叢集擴充套件”的功能在 AKS 叢集上啟用這些功能。叢集擴充套件提供了一種大規模機制來部署、更新和管理由執行在您的 AKS 叢集上的擴充套件例項所代表的服務的生命週期。藉助此功能,可以通過 Azure CLI 和 Azure SDK 等工具來管理這些服務。

什麼是 AKS 叢集擴充套件?

叢集擴充套件為 AKS 叢集上的 Azure 服務和受支援的開源專案安裝和生命週期管理提供了 Azure Resource Manager (ARM) 驅動體驗。叢集擴充套件為使用者提供安裝、更新和升級支援服務的統一體驗。使用者可以通過手動升級或自動升級選項安裝特定版本並升級支援的服務版本。叢集擴充套件通過 Azure CLI 公開一組標準操作。有關更多詳細資訊,請參閱 Azure CLI 文件和 AKS 叢集擴充套件文件。

# Install  
az k8s-extension create  
# Update  
az k8s-extension update  
# Delete
az k8s-extension delete 

Dapr叢集擴充套件

分散式應用程式執行時 (Dapr) 是一組可逐步採用的 API,可簡化基於微服務的分散式應用程式的創作。例如,Dapr 提供了啟用應用程式相互通訊的功能,無論是通過 pubsub 訊息傳遞,還是可靠和安全的服務到服務呼叫。Dapr API 也稱為構建塊,建立在最佳實踐行業標準之上,即:

  • 與您的首選語言或框架無縫匹配
  • 可逐步採用,您可以根據需要使用一個、多個或所有構建塊

AKS Dapr 擴充套件在您的 AKS 叢集上預配 Dapr,從而節省了下載任何 Dapr 工具以及在 AKS 叢集上手動安裝和管理 Dapr 執行時的開銷。該擴充套件提供了完全受支援的 Dapr 版本,並通過簡單的命令列引數整合了所有原生 Dapr 配置功能。

以下命令在 AKS 叢集上部署 Dapr extension:

az k8s-extension create --extension-type Microsoft.Dapr \  
--cluster-type managedClusters \  
--cluster-name myAKSCluster \  
--resource-group myResourceGroup \  
--name myDaprExtension \  
--version X.X.X.X 

您可以通過指定 --auto-upgrade-minor-version 引數並將值設定為 true 來允許 Daprto 自動更新其次要版本:

--auto-upgrade-minor-version true 

以下命令顯示已安裝 Dapr 擴充套件的快照:

az k8s-extension show --cluster-type managedClusters \ 
--cluster-name myAKSCluster \ 
--resource-group myResourceGroup \ 
--name myDaprExtension

託管叢集 id 顯示 DaprExtension 存在,命令:kubectl get namespace 產生以下結果:

Dapr 使用“智慧預設值”並安裝在高可用性環境中作為生產環境的建議。

kubectl get pods -n dapr-system 產生以下結果

Azure Machine Learning 叢集擴充套件

適用於 AKS 的 Azure ML 叢集擴充套件是一個機器學習運算子,使用叢集擴充套件 CLI 在 AKS 上部署和管理。Azure ML 操作員將 AKS 叢集配置並附加到 Azure 機器學習工作區,以便訓練和管理機器學習模型。在 AKS 上部署 Azure ML 叢集擴充套件後,可以將叢集作為計算型別附加,在您的機器學習工作區中執行訓練和推理模型。

Azure ML 擴充套件的設計可幫助 IT 運營商利用原生的 Kubernetes 概念,例如:名稱空間、節點選擇器和資源請求/限制,以實現機器學習計算利用率和優化。通過讓 IT 操作員管理 Azure ML 計算設定,Azure ML 擴充套件為資料科學專家創造了無縫體驗,他們不需要直接學習或使用 Kubernetes。

AKS叢集可讓企業使用 GPU 計算執行高度可用的機器學習和深度學習模型。

以下命令在 AKS 叢集上部署 Azure ML 擴充套件:

az k8s-extension create --extension-type Microsoft.AzureML.Kubernetes \  
--cluster-type managedClusters \  
--cluster-name myAKSCluster \  
--resource-group myResourceGroup \  
--name amlarc-compute \  
--configuration-settings enableTraining=True \  
--scope cluster 

GitOps Flux 叢集擴充套件

執行現代雲原生應用程式的團隊需要可靠的自動化流程來管理 Kubernetes 叢集配置和應用程式生命週期。GitOps 是一種為這些應用程式和配置實施持續部署的技術,專注於使用開發人員和叢集管理員熟悉的工具和流程,例如 Git 和拉取請求。GitOps 支援基礎設施即程式碼,其中環境的狀態在 Git 儲存庫中以宣告方式描述。對工作負載環境的更改(例如應用程式更新)是通過對 Git 儲存庫的拉取請求發生的,之後在每個叢集中執行的 Flux 會自動同步更改並將其應用到叢集。Flux 還不斷確保叢集保持在宣告的狀態。GitOps 支援準確的變更管理和審計,因為叢集狀態和所有變更都在 Git 儲存庫中完全可見。開發人員和部署工具不需要直接訪問叢集,因此也增強了叢集安全性。簡而言之,GitOps 是管理現代工作負載持續部署的現代方式,而 Azure GitOps with Flux 為您提供了這個功能。

Azure 使用開源 CNCF Flux 來啟用 GitOps in AKS 叢集。Azure 提供簡單的安裝、自動更新和執行狀況報告,以簡化你在一個到數千個叢集中使用 GitOps。
GitOps with Flux v2 作為 AKS 叢集的叢集擴充套件啟用。Flux 擴充套件在叢集中安裝 Flux 控制器。

啟用 Flux 後,您可以在每個叢集中建立一個或多個 GitOps 配置,以啟用與 Git 儲存庫的連線以及儲存庫中定義的資源的部署。

Azure GitOps with Flux v2 支援多租戶。當多個團隊共享叢集,您可能有一個 Flux 配置指向叢集管理團隊儲存庫,以在叢集級別為每個叢集制定基準安全配置和管理應用程式。接著您可能擁有一個或多個具有名稱空間範圍的 Flux 配置,這些配置指向應用程式團隊儲存庫,以安裝由您公司的各個組建立的應用程式。

在 Azure 中,您可以跟蹤每個叢集中部署的合規性狀態,確保叢集處於您在 Git 儲存庫中宣告的狀態,提供了叢集狀態的可觀察性。

總結

上述擴充套件允許使用者通過簡單的部署模型使用領先的 Azure 服務,例如機器學習和事件驅動的開源專案(例如 Dapr on AKS )。使用者還可以利用 AKS 使用配置管理功能。


長按識別二維碼
關注微軟中國MSDN

**點選閱讀原部落格

相關文章