次の方法で共有


Azure Kubernetes Service (AKS) および Arc 対応 Kubernetes 用の Dapr 拡張機能をインストールする

Dapr を使うと、クラウドとエッジ上で動作し、多様な言語と開発者フレームワークをサポートする、回復性を備えたステートレスおよびステートフル アプリケーションを簡単に構築できます。 Dapr のサイドカー アーキテクチャにより、プラットフォームに依存しないコードを維持しながら、マイクロサービスの構築に関する次のような課題に取り組むことができます。

  • 他のサービスを確実かつ安全に呼び出す
  • pub/sub を使ったイベントドリブン アプリの構築
  • 複数のクラウド サービスとホスト (たとえば、Kubernetes と仮想マシン) 間で移植可能なアプリケーションの構築

Note

Kubernetes の運用環境に Dapr をインストールする場合は、Dapr の本番環境での使用に関するガイドラインのドキュメント ページを参照してください。

しくみ

Dapr 拡張機能では、Azure CLI または Bicep テンプレートを使用して、AKS または Arc 対応 Kubernetes クラスターに Dapr コントロール プレーンをプロビジョニングし、次の Dapr サービスを作成します。

Dapr サービス 説明
dapr-operator Dapr 用のコンポーネントの更新と Kubernetes サービス エンドポイント (状態ストア、Pub/Sub など) が管理されます
dapr-sidecar-injector 注釈付きデプロイ ポッドに Dapr が挿入され、環境変数 DAPR_HTTP_PORTDAPR_GRPC_PORT が追加されて、ユーザー定義アプリケーションが有効になります。これで、Dapr ポート値をハードコーディングせずに Dapr と簡単に通信できます。
dapr-placement アクターのみに使用されます。 アクター インスタンスをポッドにマップするマッピング テーブルが作成されます。
dapr-sentry サービス間の mTLS が管理され、証明機関として機能します。 詳細については、セキュリティの概要に関するページをお読みください。

Dapr がクラスターにインストールされた後、デプロイにいくつか注釈を追加することで、Dapr 構成要素 API を使用して開発を開始できます。 構成要素 API の詳細な概要とそれらを最大限に活用する方法については、Dapr の構成要素の概要に関するページを参照してください。

警告

AKS または Arc 対応 Kubernetes 拡張機能を使用して Dapr をインストールする場合、Dapr の以降の管理には、Dapr CLI ではなく拡張機能を引き続き使用することをお勧めします。 2 つのツールを組み合わせると、競合が発生し、望ましくない動作が発生する可能性があります。

前提条件

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 をインストールすることを選択できます。 次の 2 つのリリース トレイン値のいずれかを指定します。

説明
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 バージョンの一覧を "場所ごと" で表示するには、以下を行います。

  1. ExtenstionTypes 機能が Azure サブスクリプションに登録されていることを確認します。
  2. 次のコマンドを実行します。
az k8s-extension extension-types list-versions-by-location --location westus --extension-type microsoft.dapr

次に、Dapr を最新の安定バージョンに手動で更新します。

特定の Dapr バージョンを対象とする

Note

Dapr は、現在および以前のバージョンのみを含むローリング ウィンドウでサポートされています。 これらのサポートされているバージョンを最新の状態に維持する運用上の責任があります。 古いバージョンの Dapr がある場合、サポートされているバージョンを取得するには、中間アップグレードの実行が必要なことがあります。

特定のバージョンの Dapr をインストールしたり、以前のバージョンにロールバックしたりするには、同じコマンド ライン引数を使用します。 --auto-upgrade-minor-versionfalse に、--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 テンプレートを削除しても構いません。

次のステップ