Azure Arc 上の Azure Container Apps (プレビュー)
Container Apps は、Azure Arc 対応 AKS または AKS-HCI クラスターで実行できます。
Azure Arc 対応 Kubernetes クラスターで実行すると、次のことができます。
- Container Apps の機能を利用する開発者
- IT 管理者は、内部インフラストラクチャで Container Apps をホストすることで、企業のコンプライアンスを維持します。
「Azure Arc 対応 Kubernetes クラスターを設定して Azure Container Apps を実行する」を参照して、Container Apps 用に Kubernetes クラスターを設定する方法について説明します
クラスターを構成するときに、次のアクションを実行します。
接続されたクラスター。これは、Kubernetes インフラストラクチャの Azure プロジェクションです。 詳細については、「Azure Arc 対応 Kubernetes とは」を参照してください。
クラスター拡張機能。これは、接続されているクラスター リソースのサブリソースです。 Container Apps 拡張機能は 、接続されているクラスターに必要なリソースをインストールします。 クラスター拡張機能の詳細については、「Azure Arc 対応 Kubernetes のクラスター拡張機能」を参照してください。
拡張機能のグループをバンドルし、作成されたリソースの名前空間にマップするカスタムの場所。 詳細については、「Azure Arc 対応 Kubernetes でのカスタムの場所」を参照してください。
Container Apps に接続された環境。これにより、アプリ間で共通の構成が可能になりますが、クラスター操作には関連しません。 概念的には、これはカスタムの場所のリソースにデプロイされ、アプリ開発者がこの環境にアプリを作成します。
パブリック プレビューの制限事項
次のパブリック プレビューの制限は、Azure Arc 対応 Kubernetes 上の Azure Container Apps に適用されます。
制限事項 | 詳細 |
---|---|
サポート対象の Azure リージョン | 米国東部、西ヨーロッパ、東アジア |
クラスターのネットワーク要件 | LoadBalancer サービスの種類をサポートする必要があります |
機能: マネージド ID | 使用不可 |
機能: マネージド ID を使用して ACR からイメージをプルする | 使用不可 (マネージド ID によって異なる) |
ログ | Log Analytics は、サイトごとではなく、クラスター拡張機能を使用して構成する必要がある |
Container Apps 拡張機能によって作成されたリソース
Container Apps 拡張機能が Azure Arc 対応 Kubernetes クラスターにインストールされると、指定されたリリース名前空間にいくつかのリソースが作成されます。 これらのリソースを使用すると、クラスターをリソース プロバイダーの Microsoft.App
拡張機能として使用して、アプリの管理と操作をサポートできます。
必要に応じて、拡張機能を使用してイベント ドリブン スケーリング用に KEDA をインストールできます。 ただし、クラスターで許可される KEDA のインストールは 1 つだけです。 既存のインストールがある場合は、クラスター拡張機能をインストールするときに KEDA のインストールを無効にします。
次の表では、作成された各リビジョンのロールについて説明します。
Pod | Description | インスタンスの数 | CPU | メモリ | |
---|---|---|---|---|---|
<extensionName>-k8se-activator |
スケーリング パイプラインの一部として使用されます | 2 | 100 ミリクプ | 500 MB | |
<extensionName>-k8se-billing |
課金レコードの生成 - Azure Arc 対応 Kubernetes 上の Azure Container Apps は、プレビュー期間中は無料です | 3 | 100 ミリクプ | 100 MB | |
<extensionName>-k8se-containerapp-controller |
クラスター上にリソースを作成し、コンポーネントの状態を維持するコア オペレーター ポッド。 | 2 | 100 ミリクプ | 500 MB | |
<extensionName>-k8se-envoy |
すべてのデータ プレーン http 要求のフロントエンド プロキシ レイヤー。 受信トラフィックを正しいアプリにルーティングします。 | 3 | 1 コア | 1536 MB | |
<extensionName>-k8se-envoy-controller |
Envoy 構成を生成する演算子 | 2 | 100 ミリクプ | 500 MB | |
<extensionName>-k8se-event-processor |
システムによって使用可能な最初のインスタンスが取得される間に、ゼロにスケーリングされたアプリに役立つ代替ルーティング先。 | 2 | 100 ミリクプ | 500 MB | |
<extensionName>-k8se-http-scaler |
KEDA にスケーリング情報を提供するために、受信要求のボリュームを監視します。 | 1 | 100 ミリクプ | 500 MB | |
<extensionName>-k8se-keda-cosmosdb-scaler |
Keda Cosmos DB スケーラー | 1 | 10 m | 128 MB | |
<extensionName>-k8se-keda-metrics-apiserver |
Keda Metrics Server | 1 | 1 コア | 1000 MB | |
<extensionName>-k8se-keda-operator |
Dapr のコンポーネント更新とサービス エンドポイントを管理します | 1 | 100 ミリクプ | 500 MB | |
<extensionName>-k8se-local-envoy |
すべてのデータ プレーン tcp 要求のフロントエンド プロキシ レイヤー。 受信トラフィックを正しいアプリにルーティングします。 | 3 | 1 コア | 1536 MB | |
<extensionName>-k8se-log-processor |
アプリやその他のコンポーネントからログを収集し、Log Analytics に送信します。 | 2 | 200 ミリクプ | 500 MB | |
<extensionName>-k8se-mdm |
メトリックとログ エージェント | 2 | 500 ミリクプ | 500 MB | |
dapr-operator | Dapr のコンポーネント更新プログラムとサービス エンドポイントを管理します | 1 | 100 ミリクプ | 500 MB | |
dapr-placement-server | アクター専用 - アクター インスタンスをポッドにマップするマッピング テーブルを作成します | 1 | 100 ミリクプ | 500 MB | |
dapr-sentry | サービス間の mTLS を管理し、CA として機能します | 2 | 800 ミリクプ | 200 MB |
Azure Arc 上の Azure Container Apps (プレビュー) に関する FAQ
- コストはいくらかかりますか?
- サポートされている Container Apps の機能はどれですか?
- マネージド ID はサポートされていますか?
- スケーリングの制限はありますか?
- どのようなログが収集されますか?
- プロバイダー登録エラーが発生した場合はどうすればよいですか?
- コンテナー アプリ拡張機能を ARM64 ベースのクラスターにデプロイできますか?
料金はどのくらいですか。
Azure Arc 対応 Kubernetes 上の Azure Container Apps は、パブリック プレビュー期間中は無料です。
サポートされている Container Apps の機能はどれですか?
プレビュー期間中は、特定の Azure Container App 機能が検証されています。 サポートされている場合は、Azure portal の左側のナビゲーション オプションがアクティブ化されます。 まだサポートされていない機能は淡色表示のままです。
マネージド ID はサポートされていますか?
いいえ。 Azure Arc で実行している場合、アプリにマネージド ID を割り当てることはできません。アプリで別の Azure リソースを操作するための ID が必要な場合は、代わりに アプリケーション サービス プリンシパル を使用することを検討してください。
スケーリングの制限はありますか?
Azure Arc 対応 Kubernetes 上の Azure Container Apps と共にデプロイされたすべてのアプリケーションは、基になる Kubernetes クラスターの制限内でスケーリングできます。 クラスターで使用可能なコンピューティング リソース (主に CPU とメモリ) が不足している場合、アプリケーションは、Kubernetes が使用可能なリソースでスケジュールできるアプリケーションのインスタンスの数にスケーリングされます。
どのようなログが収集されますか?
システム コンポーネントとアプリケーションの両方のログが標準出力に書き込まれます。
どちらのログの種類も、標準の Kubernetes ツールを使用して分析用に収集できます。 また、Log Analytics ワークスペースを使用してアプリケーション環境クラスター拡張機能を構成し、すべてのログをそのワークスペースに送信することもできます。
既定では、システム コンポーネントからのログは Azure チームに送信されます。 アプリケーション ログは送信されません。 拡張機能の構成設定として logProcessor.enabled=false
を設定することで、これらのログが転送されないようにすることができます。 この構成設定により、Log Analytics ワークスペースへのアプリケーションの転送も無効になります。 ログ プロセッサを無効にすると、サポート ケースに必要な時間に影響する可能性があり、他の方法で標準出力からログを収集するように求められます。
プロバイダー登録エラーが発生した場合はどうすればよいですか?
Azure Container Apps に接続された環境リソースを作成すると、一部のサブスクリプションで "登録されているリソース プロバイダーが見つかりません" というエラーが表示されることがあります。 エラーの詳細に、有効と見なされる一連の場所と API バージョンが含まれていることがあります。 このエラー メッセージが返された場合は、サブスクリプションをプロバイダーに再登録する Microsoft.App
必要があります。 プロバイダーを再登録しても、既存のアプリケーションや API には影響しません。 再登録するには、Azure CLI を使用して az provider register --namespace Microsoft.App --wait
を実行します。 次に、接続されている環境コマンドを再試行します。
コンテナー アプリ拡張機能を ARM64 ベースのクラスターにデプロイできますか?
ARM64 ベースのクラスターは、現時点ではサポートされていません。
拡張機能のリリース ノート
Container Apps 拡張機能 v1.0.46 (2022 年 12 月)
- Container Apps 拡張機能の初期パブリック プレビュー リリース