次の方法で共有


Azure Arc 上の Azure Container Apps

Container Apps は、Azure Arc 対応 AKS または AKS on Azure Local クラスター上で実行できます。

Azure Arc 対応 Kubernetes クラスターで実行すると、次のことができます。

  • Container Apps の機能を利用する開発者
  • IT 管理者は、内部インフラストラクチャで Container Apps をホストすることで、企業のコンプライアンスを維持します。

Azure Container Apps を実行するための Azure Arc 対応 Kubernetes クラスターの設定を介して、Container Apps 用に Kubernetes クラスターを設定する方法について説明します

クラスターを構成するときに、次のアクションを実行します。

制限事項

Azure Arc 対応 Kubernetes 上の Azure Container Apps には、次の制限が適用されます。

制限事項 詳細
サポート対象の Azure リージョン オーストラリア東部、米国中部、東アジア、米国東部、米国中北部、東南アジア、スウェーデン中部、英国南部、西ヨーロッパ、米国西部
クラスターのネットワーク要件 LoadBalancer サービスの種類をサポートする必要があります
ノード OS の要件 Linux のみ。
機能: マネージド ID 使用不可
機能: マネージド ID を使用して ACR からイメージをプルする 使用不可 (マネージド ID によって異なる)
機能: Azure File Storage Azure ファイル SMB ストレージを使用する前に、SMB ドライバー (>= v1.18.0) をインストールする必要があります
ログ Log Analytics は、アプリケーションごとではなく、クラスター拡張機能を使用して構成する必要があります

以下の機能がサポートされています。

  • ラベル
  • メトリック
  • 簡単認証
  • ログ ストリーム
  • レジリエンス
  • カスタム ドメイン
  • Container Apps ジョブ
  • リビジョン管理
  • アプリ コンテナー コンソール

重要

AKS on Azure Local にデプロイする場合は、拡張機能をインストールする前に HAProxy をロード バランサーとして構成してあることを確認してください。 さらに、カスタム CoreDNS が有効になっていることを確認します。

AKS カスタム CoreDNS を有効にする方法については、 az containerapp arc CLI のドキュメントを参照してください。

Container Apps 拡張機能によって作成されたリソース

Container Apps 拡張機能が Azure Arc 対応 Kubernetes クラスターにインストールされると、指定されたリリース名前空間に複数のリソースが作成されます。 これらのリソースを使用すると、クラスターを Microsoft.App リソース プロバイダーの拡張機能として使用して、アプリの管理と操作をサポートできます。

必要に応じて、拡張機能を使用してイベント ドリブン スケーリング用に KEDA をインストールできます。 ただし、クラスターで許可される KEDA インストールは 1 つだけです。 既存のインストールがある場合は、クラスター拡張機能をインストールするときに KEDA のインストールを無効にします。

次の表では、作成された各リビジョンのロールについて説明します。

ポッド 説明 インスタンスの数 CPU メモリ タイプ
<extensionName>-k8se-activator スケーリング パイプラインの一部として使用されます 2 100 ミリCPU 500 MB ReplicaSet
<extensionName>-k8se-billing 請求レコードの生成 3 100 ミリCPU 100 MB ReplicaSet
<extensionName>-k8se-containerapp-controller クラスター上にリソースを作成し、コンポーネントの状態を維持するコア オペレーター ポッド。 2 100 ミリCPU 1 GB ReplicaSet
<extensionName>-k8se-envoy すべてのデータ プレーン HTTP 要求のフロントエンド プロキシ レイヤー。 受信トラフィックを正しいアプリにルーティングします。 3 1 コア 1,536 MB ReplicaSet
<extensionName>-k8se-envoy-controller Envoy 構成を生成する演算子 2 200 ミリCPU 500 MB ReplicaSet
<extensionName>-k8se-event-processor システムによって使用可能な最初のインスタンスが取得される間に、ゼロにスケーリングされたアプリに役立つ代替ルーティング先。 2 100 ミリCPU 500 MB ReplicaSet
<extensionName>-k8se-http-scaler KEDA にスケーリング情報を提供するために、受信要求のボリュームを監視します。 1 100 ミリCPU 500 MB ReplicaSet
<extensionName>-k8se-keda-cosmosdb-scaler KEDA Cosmos DB スケーラー 1 10 m 128 MB ReplicaSet
<extensionName>-k8se-keda-metrics-apiserver KEDA メトリック サーバー 1 1 コア 1,000 MB ReplicaSet
<extensionName>-k8se-keda-operator 0/1 から N 個のインスタンスへのワークロードのスケール インとスケール アウト 1 100 ミリCPU 500 MB ReplicaSet
<extensionName>-k8se-log-processor アプリやその他のコンポーネントからログを収集し、Log Analytics に送信します。 2 200 ミリCPU 500 MB デーモンセット
<extensionName>-k8se-mdm メトリックとログ エージェント 2 500 ミリCPU 500 MB ReplicaSet
dapr-metrics Dapr メトリック ポッド 1 100 ミリCPU 500 MB ReplicaSet
dapr-operator Dapr のコンポーネントの更新とサービス エンドポイントを管理する 1 100 ミリCPU 500 MB ReplicaSet
dapr-placement-server アクターのみに使用 - アクター インスタンスをポッドにマップするマッピング テーブルを作成します 1 100 ミリCPU 500 MB StatefulSet
dapr-sentry サービス間の mTLS を管理し、CA として機能します 2 800ミリCPU 200 MB ReplicaSet

Azure Arc 上の Azure Container Apps に関する FAQ

どの Container Apps 機能がサポートされていますか?

ポータルで最新の一覧を確認します。 サポートされていない機能は、ポータルで淡色表示されます。

マネージド ID はサポートされていますか?

マネージド 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 を実行します。 次に、接続環境コマンドを再試行します。

SMB ドライバーをインストールする方法

SMB ドライバーは、次の Helm コマンドを使用してインストールできます。 その他のインストール方法については、「 Kubernetes クラスターにドライバーをインストールする」を参照してください。

helm repo add csi-driver-smb https://raw.githubusercontent.com/kubernetes-csi/csi-driver-smb/master/charts
helm install csi-driver-smb csi-driver-smb/csi-driver-smb --namespace kube-system --version v1.18.0

拡張機能を Windows ノードにインストールすることはできますか

いいえ。拡張機能を Windows ノードにインストールすることはできません。 この拡張機能は、Linux ノードへのインストールのみをサポートしています。

Arm64 ベースのクラスターに Container Apps 拡張機能をデプロイできますか?

いいえ。 Arm64 ベースのクラスターはサポートされていません。