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

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

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

使用 Dapr 延伸模組在 AKS 或已啟用 Arc 的 Kubernetes 叢集上佈建 Dapr (部分機器翻譯) 可消除下列動作所產生的額外負荷:

  • 下載 Dapr 工具
  • 在 AKS 叢集上手動安裝和管理執行階段

此外,延伸模組透過簡單的命令列引數,為所有原生 Dapr 設定功能提供支援。

注意

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

運作方式

Dapr 延伸模組使用 Azure CLI,在 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 版本

Dapr 延伸模組支援會根據您管理執行階段的方式而不同。

自我管理
針對自我管理執行階段,Dapr 延伸模組支援:

自我管理執行階段需要手動升級,才能保留在支援時間範圍中。 若要透過延伸模組來升級 Dapr,請遵循更新延伸模組執行個體 (部分機器翻譯) 指示。

自動升級
啟用自動升級可讓 Dapr 延伸模組更新為最新的次要版本。 您可能會在更新之間遇到重大變更。

元件

支援 Azure + 開放原始碼元件。 Alpha 和 Beta 元件可透過最大投入量予以支援。

雲端/區域

下列區域的 Arc 支援一併支援全域 Azure 雲端:

區域 AKS 支援 適用於 Kubernetes 的 Arc 支援
australiaeast ✔️ ✔️
australiasoutheast ✔️
brazilsouth ✔️
canadacentral ✔️ ✔️
canadaeast ✔️ ✔️
centralindia ✔️ ✔️
centralus ✔️ ✔️
eastasia ✔️ ✔️
eastus ✔️ ✔️
eastus2 ✔️ ✔️
eastus2euap ✔️
francecentral ✔️ ✔️
francesouth ✔️
germanywestcentral ✔️ ✔️
japaneast ✔️ ✔️
japanwest ✔️
koreacentral ✔️ ✔️
koreasouth ✔️
northcentralus ✔️ ✔️
northeurope ✔️ ✔️
norwayeast ✔️
southafricanorth ✔️
southcentralus ✔️ ✔️
southeastasia ✔️ ✔️
southindia ✔️
swedencentral ✔️ ✔️
switzerlandnorth ✔️ ✔️
uaenorth ✔️
uksouth ✔️ ✔️
ukwest ✔️
westcentralus ✔️ ✔️
westeurope ✔️ ✔️
westus ✔️ ✔️
westus2 ✔️ ✔️
westus3 ✔️ ✔️

必要條件

設定叢集延伸模組的 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] 命令來檢查提供者註冊的狀態,如下列範例所示:

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

在 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

以特定 Dapr 版本為目標

注意

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

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

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 X.X.X

設定 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

選擇發行訓練

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

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

例如:

--release-train stable

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

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

針對 Dapr 進行疑難排解

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

刪除延伸模組

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

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

後續步驟