適用対象: AKS on Azure Local
Azure Local の Azure Kubernetes Service (AKS) は、エンタープライズグレード Kubernetes コンテナ プラットフォームです。 Microsoft がサポートするコア Kubernetes、専用に構築された Windows コンテナ ホスト、Microsoft がサポートする Linux コンテナ ホストが含まれ、シンプルなデプロイとライフサイクル管理を目標としています。
この記事では、コントロール プレーン、ノード、ノード プールなど、Kubernetes インフラストラクチャのコア コンポーネントを紹介します。 また、プール、デプロイ、およびセットなどのワークロード リソースと、リソースを名前空間にグループ化する方法も紹介します。
Azure Local の AKS アーキテクチャ
Azure Local の AKS は、Arcアプライアンスとも呼ばれる Arc リソース ブリッジを使用して、1 つ以上の AKS クラスターをデプロイして管理するコアのオーケストレーション メカニズムおよびインターフェイスを提供します。 コンテナ化されたアプリケーションは、AKS クラスターにデプロイされます。
AKS Arc は、事前定義された構成を使用して、拡張性を考慮して、効率的に Kubernetes クラスターをデプロイします。 デプロイ操作は、複数の Linux Virtual Machines または Windows Virtual Machines を作成し、これらを結合して 1 つまたは複数の Kubernetes クラスターを作成します。
Note
システムの信頼性を向上させるために、クラスター内で複数のクラスタ共有ボリューム (CSV) を実行する場合、デフォルトでは仮想マシンのデータはクラスター内の利用可能なすべての CSV に自動的に分散されます。 これにより、CSV の障害が発生した場合でも、アプリケーションは存続できます。
Arc リソース ブリッジ
Arc リソース ブリッジは、プライベート クラウド (例: Azure Local、VMWare/vSphere、SCVMM など) を Azure に接続し、Azure からオンプレミスのリソース管理をできるようにします。 Azure Arc リソース ブリッジは、Azure 経由でオンプレミスの Kubernetes クラスターなどのリソースを管理するために必要なプライベート クラウドへの見通しを提供します。 Arc リソース ブリッジには、以下の AKS Arc のコア コンポーネントが含まれています:
- AKS Arc クラスター拡張機能: クラスター拡張は、Azure Resource Manager リソース プロバイダーのオンプレミスに相当します。 Microsoft.ContainerService リソース プロバイダーが Azure の AKS クラスターを管理するように、AKS Arc クラスター拡張機能が Arc リソース ブリッジに追加されると、Azure 経由での Kubernetes クラスターを管理しやすくなります。
- カスタム ロケーション: カスタム ロケーションは、オンプレミスの Azure リージョンに相当するもので、Azure ロケーションの構造を拡張します。 カスタム ロケーションは、テナント管理者が適切な拡張機能をインストールしたデータセンターを、Azure サービス インスタンスをデプロイする対象ロケーションとして使用する方法を提供します。
AKS クラスター
AKS クラスターは、Kubernetes のコントロール プレーン コンポーネントと Linux ノードプールを実行するために Linux VM を使用する Kubernetes の高可用性デプロイメントです。 Windows コンテナを実行するために、Windows Server Core ベースのノード プールを追加でデプロイできます。 Arc リソース ブリッジが管理する AKS クラスターは 1 つ以上存在できます。
次のセクションで説明されているとおり、AKS クラスターには、 2 つの主要コンポーネントがあります。
コントロール プレーン ノード
Kubernetes は、コントロール プレーン ノードを使用して、Kubernetes クラスター内の各コンポーネントが指定の状態のままであることを確認します。 コントロール プレーンは、コンテナ化されたアプリケーションを保有するワーカー ノード プールも管理・維持します。 Arc が有効化した AKS は、Kubernetes コントロール プレーンの API サーバー IP アドレスが常に利用可能であることを保証するために、KubeVIP ロード バランサーをデプロイします。 コントロール プレーン ノードはお客様のアプリケーションをホストしないため、Microsoft はコントロール プレーン ノードに対する費用を請求しません。
コントロール プレーン ノードは、次の主要なコンポーネントを実行します (網羅的なリストではない)。
- API サーバー: Kubernetes API との通信を有効化します。 このコンポーネントは、Azure CLI、Azure Portal または kubectl などの管理ツールとの通信を提供します。
- Etcd: クラスターのライフサイクル管理に必要なデータを格納する分散型キーバリュー ストア。 これにはコントロール プレーンの状態が格納されます。
Linux/Windows ノード プール
Kubernetes では、ノード プールは、クラスター内のノードのグループで、同じ構成を共有します。 ノード プールを使用すると、特定の役割、機能、またはハードウェア構成を持つノードのセットを作成して管理できるため、AKS クラスターのインフラストラクチャをより細かく制御できます。 AKS クラスターには、Linux または Windows のノード プールをデプロイできます。 ただし、Azure との接続性を維持するために、Arc エージェントをホストする Linux ノード プールを少なくとも 1 つ用意する必要があります。
混合 OS デプロイ
特定のワークロード クラスターが Linux と Windows の両方のワーカーノードで構成されている場合、ワークロードのプロビジョニングをサポートできる OS 上にスケジューリングする必要があります。 Kubernetes には、ターゲット オペレーティング システムが稼働するノードにワークロードを確実に配置するため、2 つのメカニズムが用意されています。
- ノード セレクタは、ポッドがオペレーティング システムと一致する健全なノードにのみスケジュールされるように制約する、ポッド仕様のシンプルなフィールドです。
- Taints と Tolerations は連携して、ポッドが不適切なノードにスケジュールされないようにします。 ポッドの仕様の "Toleration" を通じて Taint が明示的に許容されていないポッドを受け入れないように、ノードに Taint を設定することができます。
詳細については、ノード セレクターに関するページと、テイントおよび容認に関するページを参照してください。
ライフサイクル管理
Azure Arc は、AKS Arc を使用して作成されたすべての Kubernetes クラスターで自動的に有効になります。Microsoft Entra ID を使用して、どこからでもクラスターに接続できます。 Azure Arc では、Azure Portal、Azure CLI、Azure Resource Manager テンプレートのような使い慣れたツールを使用して、Kubernetes クラスターを作成および管理できます。
インフラストラクチャ コンポーネント向けクラウドベース更新
Azure Local は、OS、ソフトウェア エージェント、Azure Arc インフラストラクチャ、OEM ドライバおよびファームウェアの関連するすべてのアップデートを、統一された月次アップデート パッケージに統合します。 この包括的なアップデート パッケージは、Azure Update Manager ツール経由でクラウドから特定され、適用されます。
AKS は、バージョン 23H2 から Azure Local の一部になります。 Azure Arc インフラストラクチャが有効化した AKS のライフサイクル管理は、Azure Local 上の他のコンポーネントと同じアプローチに従います。 このアプローチは、OS の管理、コア エージェントとサービス、ソリューションの拡張など、Azure Local ソリューションのさまざまな側面を一箇所で統合して管理するための柔軟な基盤を提供します。 ソリューション拡張の一部として Arc インフラストラクチャ コンポーネントが有効化した AKS は、Azure Local の更新パッケージによって更新されます。
詳細については、「Azure Local の更新概要」を参照してください。
リージョンの可用性
Azure Local の AKS は、Azure Local が利用可能な同じリージョンでサポートされます。 サポートされている Azure リージョンの詳細については、「Azure Local のシステム要件」を参照してください。
