安裝適用於 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_PORT 與 DAPR_GRPC_PORT ,讓使用者定義的應用程式能夠輕鬆地與 Dapr 通訊,而不需已寫入程式碼的 Dapr 連接埠值。 |
dapr-placement |
僅適用於執行者。 建立對應資料表,將執行者執行個體對應至 Pod。 |
dapr-sentry |
管理服務之間的 mTLS,並作為憑證授權單位。 如需詳細資訊,請參閱安全性概觀。 |
在叢集上安裝 Dapr 之後,您就可以新增一些註釋至您的部署,以開始使用 Dapr 建置組塊 API 進行開發。 如需組建組塊 API 及其最佳使用方式的更深入概觀,請參閱 Dapr 組建組塊概觀。
警告
如果您透過 AKS 或已啟用 Arc 的 Kubernetes 延伸模組來安裝 Dapr,則建議繼續使用此延伸模組以進一步管理 Dapr,而不是 Dapr CLI。 合併這兩個工具可能會導致衝突,並導致出現不想要的行為。
必要條件
- Azure 訂用帳戶。 如果沒有網路怎麼辦? 建立免費帳戶。
- 最新版的 Azure CLI。
- 現有的 AKS 叢集 (部分機器翻譯) 或已連線已啟用 Arc 的 Kubernetes 叢集。
- Azure Kubernetes Service 角色型存取控制系統管理員角色
選取您想要如何安裝、部署及設定 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.0
到 1.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 版本清單:
az k8s-extension extension-types list-versions-by-location --location westus --extension-type microsoft.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 範本。
後續步驟
設定您唯一案例的 Dapr 延伸模組 (部分機器翻譯)