共用方式為


安裝適用於 Azure Kubernetes Service (AKS) 和已啟用 Arc 的 Kubernetes 的 Dapr 延伸模組

Dapr 可簡化建置於雲端和邊緣上執行的復原性、無狀態和具狀態應用程式,並接納語言和開發人員架構的多樣性。 透過 Dapr 的側車 (Sidecar) 架構,您可以讓程式碼平台不受限制,同時解決建置微服務方面的挑戰,例如:

  • 可靠地安全地呼叫其他服務
  • 使用 pub/sub 建置事件驅動應用程式
  • 建置可攜帶到多個雲端服務和主機的應用程式 (例如 Kubernetes 與虛擬機器)

注意

如果您打算在 Kubernetes 實際執行環境中安裝 Dapr,請參閱供生產使用的 Dapr 指南說明文件頁面。

運作方式

Dapr 延伸模組使用 Azure CLI 或 Bicep 範本,在 AKS 或已啟用 Arc 的 Kubernetes 叢集上佈建 Dapr 控制平面,建立下列 Dapr 服務:

Dapr 服務 描述
dapr-operator 管理 Dapr 的元件更新和 Kubernetes 服務端點 (狀態存放區、pub/sub 等)
dapr-sidecar-injector 將 Dapr 插入註解式部署 Pod,並新增環境變數 DAPR_HTTP_PORTDAPR_GRPC_PORT,讓使用者定義的應用程式能夠輕鬆地與 Dapr 通訊,而不需已寫入程式碼的 Dapr 連接埠值。
dapr-placement 僅適用於執行者。 建立對應資料表,將執行者執行個體對應至 Pod。
dapr-sentry 管理服務之間的 mTLS,並作為憑證授權單位。 如需詳細資訊,請參閱安全性概觀

在叢集上安裝 Dapr 之後,您就可以新增一些註釋至您的部署,以開始使用 Dapr 建置組塊 API 進行開發。 如需組建組塊 API 及其最佳使用方式的更深入概觀,請參閱 Dapr 組建組塊概觀

警告

如果您透過 AKS 或已啟用 Arc 的 Kubernetes 延伸模組來安裝 Dapr,則建議繼續使用此延伸模組以進一步管理 Dapr,而不是 Dapr CLI。 合併這兩個工具可能會導致衝突,並導致出現不想要的行為。

必要條件

選取您想要如何安裝、部署及設定 Dapr 延伸模組。

開始之前

新增叢集擴充功能的 Azure CLI 擴充功能

執行下列命令來安裝 k8s-extension Azure CLI 延伸模組:

az extension add --name k8s-extension

如果已安裝 k8s-extension 延伸模組,您就可以使用下列命令,將其更新至最新版本:

az extension update --name k8s-extension

註冊 KubernetesConfiguration 資源提供者

如果您尚未使用叢集延伸模組,則可能需要透過訂用帳戶註冊資源提供者。 您可以使用 az provider list (部分機器翻譯) 命令來檢查提供者註冊狀態,如下列範例所示:

az provider list --query "[?contains(namespace,'Microsoft.KubernetesConfiguration')]" -o table

Microsoft.KubernetesConfiguration 提供者應該回報為 Registered,如下列範例輸出所示:

Namespace                          RegistrationState    RegistrationPolicy
---------------------------------  -------------------  --------------------
Microsoft.KubernetesConfiguration  Registered           RegistrationRequired

如果提供者顯示為 NotRegistered,請使用 az provider register 來註冊提供者,如下列範例所示:

az provider register --namespace Microsoft.KubernetesConfiguration

向 Azure 訂用帳戶註冊 ExtenstionTypes 功能

ExtensionTypes 功能必須註冊至您的 Azure 訂用帳戶。 在終端機中,確認您位於正確的訂用帳戶中:

az account set --subscription <YOUR-AZURE-SUBSCRIPTION-ID>

註冊 ExtenstionTypes 功能。

az feature registration create --namespace Microsoft.KubernetesConfiguration --name ExtensionTypes

功能註冊可能需要一些時間。 幾分鐘後,請使用下列命令檢查註冊狀態:

az feature show --namespace Microsoft.KubernetesConfiguration --name ExtensionTypes

在 AKS 或已啟用 Arc 的 Kubernetes 叢集上,建立延伸模組並安裝 Dapr

安裝 Dapr 延伸模組時,請使用對應至叢集類型的旗標值:

  • AKS 叢集--cluster-type managedClusters
  • 已啟用 Arc 的 Kubernetes 叢集--cluster-type connectedClusters

注意

如果您在 AKS 叢集上使用 Dapr OSS,而且想要安裝適用於 AKS 的 Dapr 延伸模組,請閱讀如何成功移轉至 Dapr 延伸模組的其他資訊。

建立 Dapr 延伸模組,以在 AKS 或已啟用 Arc 的 Kubernetes 叢集上安裝 Dapr。

例如,透過 AKS 叢集上的 Dapr 延伸模組安裝最新版的 Dapr:

az k8s-extension create --cluster-type managedClusters \
--cluster-name <myAKSCluster> \
--resource-group <myResourceGroup> \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false

持續將受控 AKS 叢集更新為最新版本

根據您的環境 (開發、測試或生產),您可以透過最新的穩定 Dapr 版本保持在最新狀態。

選擇發行訓練

設定延伸模組時,您可以選擇從特定的發行訓練安裝 Dapr。 指定這兩個發行訓練值的其中一個:

Description
stable 預設。
dev 可以包含實驗性功能的早期版本。 不適用於實際執行環境。

例如:

--release-train stable

設定 Dapr 控制平面的自動更新

警告

自動升級不適用於實際執行環境。 只能在開發或測試環境中,啟用 Dapr 控制平面的自動更新。 了解如何手動升級至生產環境的最新 Dapr 版本。

如果您在未指定版本的情況下安裝 Dapr,系統會自動啟用 --auto-upgrade-minor-version,並將 Dapr 控制平面設定為在新版本上自動更新其次要版本。

您可以指定 --auto-upgrade-minor-version 參數並將值設定為 false,以停用自動更新。

Dapr 版本設定的格式為 MAJOR.MINOR.PATCH (英文),這表示 1.11.01.12.0 是「次要」版本升級。

--auto-upgrade-minor-version true

檢視可用的最新穩定 Dapr 版本

若要在生產環境中升級至最新的 Dapr 版本,您需要手動升級。 藉由從檢視受控 AKS 叢集可用的穩定 Dapr 版本清單開始。 執行以下命令:

az k8s-extension extension-types list-versions-by-cluster --resource-group <myResourceGroup> --cluster-name <myCluster> --cluster-type managedClusters --extension-type microsoft.dapr --release-train stable

若要查看受控 AKS 叢集可用的最新穩定 Dapr 版本,請執行下列命令:

az k8s-extension extension-types list-versions-by-cluster --resource-group <myResourceGroup> --cluster-name <myCluster> --cluster-type managedClusters --extension-type microsoft.dapr  --release-train stable --show-latest

若要檢視依位置提供的穩定 Dapr 版本清單:

  1. 請確定您已向 Azure 訂用帳戶註冊 ExtenstionTypes 功能。
  2. 執行下列命令。
az k8s-extension extension-types list-versions-by-location --location westus --extension-type microsoft.dapr

接下來,手動將 Dapr 更新為最新的穩定版本。

以特定 Dapr 版本為目標

注意

運行視窗僅支援 Dapr,包括目前版本和舊版。 讓這些支援的版本維持最新狀態,是您在作業時應盡的責任。 如果您有舊版的 Dapr,您可能必須進行中繼升級,才能使用支援的版本。

使用相同的命令列引數安裝特定版本的 Dapr,或回復至舊版。 將 --auto-upgrade-minor-version 設為 false--version,以獲得您要安裝的 Dapr 版本。 如果省略 version 參數,延伸模組會安裝最新版的 Dapr。 例如,若要使用 Dapr 1.13.5:

az k8s-extension create --cluster-type managedClusters \
--cluster-name <myAKSCluster> \
--resource-group <myResourceGroup> \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false \
--version 1.13.5

針對延伸模組錯誤進行疑難排解

如果此延伸模組無法建立或更新,請嘗試 Dapr 延伸模組疑難排解指南中的建議和解決方案。

針對 Dapr 進行疑難排解

透過常見的 Dapr 問題和解決方案指南,針對 Dapr 錯誤進行疑難排解。

刪除延伸模組

如果您需要刪除延伸模組,並從 AKS 叢集中移除 Dapr,您可以使用下列命令:

az k8s-extension delete --resource-group <myResourceGroup> --cluster-name <myAKSCluster> --cluster-type managedClusters --name dapr

或者,您可以移除 Bicep 範本。

後續步驟