次の方法で共有


Windows Server 上の AKS のシステム要件

適用対象: Windows Server 2022、Windows Server 2019

この記事では、Windows Server で Azure Kubernetes Service (AKS) を設定するための要件について説明します。 Windows Server 上の AKS の概要については、 AKS の概要を参照してください。

ハードウェア要件

Microsoft では、検証済みの Windows Server ハードウェアおよびソフトウェア ソリューションをパートナーから購入することをお勧めします。 これらのソリューションは、参照アーキテクチャを実行するように設計、組み立て、検証されます。 互換性と信頼性がチェックされるので、すぐに起動して実行できます。 使用しているシステム、コンポーネント、デバイス、ドライバーが Windows Server カタログに従って Windows Server 認定されていることを確認します。

重要

運用環境のデプロイ用のホスト システムは物理ハードウェアである必要があります。 入れ子になった仮想化は、仮想マシンに Windows Server を展開し、その仮想マシンに AKS をインストールすることを特徴としますが、サポートされていません。

サポートされているハードウェア最大仕様

次の仕様を超える Windows Server 上の AKS の展開はサポートされていません。

リソース 最大値
クラスターあたりの物理サーバー数 8 (ウィンドウズサーバー)
VM の総数 200

コンピューティングの要件

最小メモリ要件

次のように AKS クラスターを設定して、RAM が制限された単一ノードの Windows Server で AKS を実行します。

クラスターの種類 コントロール プレーンの VM サイズ ワーカー ノード 更新操作 Load Balancer
AKS ホスト Standard_A4_v2 VM サイズ = 8 GB N/A - AKS ホストにワーカー ノードがありません。 8 GB N/A - AKS ホストは、負荷分散に kubevip を使用します。
ワークロード クラスター Standard_A4_v2 VM サイズ = 8 GB ワーカー ノード 1 の Standard_K8S3_v1 は 6 GB です。 この予約済み 8 GB をワークロード クラスターのアップグレードに再利用できます。 kubevip が負荷分散に使用されている場合は N/A (既定の HAProxy ロード バランサーではなく)。

最小要件の合計: 30 GB の RAM

この最小要件は、コンテナ化されたアプリケーションを実行するための 1 つのワーカー ノードを含む AKS デプロイ用です。 ワーカー ノードまたは HAProxy ロード バランサーを追加すると、それに応じて最終的な RAM 要件が変更されます。

環境 サーバーあたりの CPU コア数 RAM
Windows Server フェールオーバー クラスター 32 256 GB
単一ノード Windows Server 16 128 GB

運用環境の場合、最終的なサイズ設定は、Windows Server クラスターに展開する予定のアプリケーションとワーカー ノードの数によって異なります。 単一ノードの Windows Server で AKS を実行する場合、Windows Server フェールオーバー クラスターでの AKS の実行に伴う高可用性などの機能は利用できません。

クラスター内の各サーバーに同じオペレーティング システムをインストールする必要があります。 Windows Server Datacenter では、クラスター内の各サーバーの OS とバージョンが同じである必要があります。 各 OS では、en-us リージョンと言語の選択を使用する必要があります。 インストール後にこれらの設定を変更することはできません。

ストレージの要件

Windows Server 上の AKS では、次のストレージ実装がサポートされています。

名前 ストレージの種類 必要な容量
Windows Server Datacenter フェールオーバー クラスター クラスター共有ボリューム 1 TB (テラバイト)
単一ノードの Windows Server Datacenter 直接接続ストレージ 500 GB

Windows Server クラスターの場合、2 つのストレージ構成で仮想マシン ワークロードの実行がサポートされます。

  • ハイブリッド ストレージ は、フラッシュ ストレージとハード ディスク ドライブ (HDD) を使用してパフォーマンスと容量のバランスを取ります。
  • オールフラッシュ ストレージ は、ソリッド ステート ドライブ (SSD) または NVMe を使用してパフォーマンスを最大化します。

Kubernetes は、etcd を使用してクラスターの状態を格納します。 etcd には、実行中のポッドの構成、仕様、状態が格納されます。 さらに、Kubernetes はサービス検出にストアを使用します。 Kubernetes の操作とそれがサポートするワークロードに対する調整コンポーネントとして、etcd に対する待機時間とスループットが重要です。 SSD で AKS を実行する必要があります。 詳細については、「 パフォーマンス」を参照してください。

Windows Server Datacenter ベースのクラスターの場合は、ローカル ストレージまたは SAN ベースのストレージのいずれかを使用してデプロイできます。 ローカル 記憶域の場合は、組み込みの 記憶域スペース ダイレクト または同等の認定仮想 SAN ソリューションを使用して、ワークロードで使用するクラスター共有ボリュームを提示するハイパーコンバージド インフラストラクチャを作成します。 記憶域スペース ダイレクトの場合、記憶域は、パフォーマンスと容量のバランスを取るハイブリッド (フラッシュ + HDD) か、パフォーマンスを最大化するオール フラッシュ (SSD、NVMe) である必要があります。 SAN ベースのストレージでデプロイすることを選択した場合は、その SAN ストレージが、複数の仮想マシン ワークロードを実行するための十分なパフォーマンスを提供できることを確認してください。 古い HDD ベースの SAN ストレージでは、複数の仮想マシンのワークロードを実行するために必要なレベルのパフォーマンスを提供できない可能性があり、パフォーマンスの問題やタイムアウトが発生する可能性があります。

ローカル ストレージを使用する単一ノードの Windows Server 展開の場合は、オールフラッシュ ストレージ (SSD、NVMe) を使用して、1 つの物理ホストで複数の仮想マシンをホストするために必要なパフォーマンスを実現します。 フラッシュ ストレージがないと、HDD のパフォーマンスが低下し、展開の問題やタイムアウトが発生する可能性があります。

ネットワークの要件

Windows Server データセンター クラスターには、次の要件が適用されます。

  • Windows Admin Center を使用している場合は、既存の外部仮想スイッチが構成されていることを確認します。 Windows Server クラスターの場合、このスイッチとその名前はすべてのクラスター ノードで同じである必要があります。
  • すべてのネットワーク アダプターで IPv6 を無効にしたことを確認します。
  • デプロイを成功させるには、Windows Server クラスター ノードと Kubernetes クラスター VM に外部インターネット接続が必要です。
  • クラスターに定義するすべてのサブネットが相互に、またインターネットにルーティング可能であることを確認します。
  • Windows Server ホストとテナント VM の間にネットワーク接続があることを確認します。
  • すべてのノードが相互に通信できるようにするには、DNS 名前解決が必要です。
  • (推奨) DNS 環境で動的 DNS 更新を有効にして、AKS がクラウド エージェントの汎用クラスター名を検出用の DNS システムに登録できるようにします。

IP アドレスの割り当て

Windows Server 上の AKS では、仮想ネットワークは、前述のように、それらを必要とする Kubernetes リソースに IP アドレスを割り当てます。 目的の AKS ネットワーク アーキテクチャに応じて、2 つのネットワーク モデルから選択します。

ここで AKS デプロイ用に定義される仮想ネットワーク アーキテクチャは、データ センターの基盤となる物理ネットワーク アーキテクチャとは異なります。

  • 静的 IP ネットワーク: 仮想ネットワークは、Kubernetes クラスター API サーバー、Kubernetes ノード、基になる VM、ロード バランサー、クラスター上で実行するすべての Kubernetes サービスに静的 IP アドレスを割り当てます。
  • DHCP ネットワーク: 仮想ネットワークは、DHCP サーバーを使用して、Kubernetes ノード、基になる VM、ロード バランサーに動的 IP アドレスを割り当てます。 Kubernetes クラスター API サーバーと、クラスターの上で実行するすべての Kubernetes サービスは、引き続き静的 IP アドレスを取得します。

最小 IP アドレス予約

少なくとも、デプロイ用に次の数の IP アドレスを予約します。

クラスターの種類 コントロール プレーン ノード ワーカー ノード 更新操作 Load Balancer
AKS ホスト 1 IP N/A 2 IP N/A
ワークロード クラスター ノードあたり 1 IP ノードあたり 1 IP 5つのインターネットプロトコル (IP) アドレス 1 IP

また、VIP プールには次の数の IP アドレスを予約します。

リソースの種類 IP アドレスの数
クラスター API サーバー クラスターごとに 1
Kubernetes サービス サービスあたり 1

ご覧のように、必要な IP アドレスの数は、AKS アーキテクチャと、Kubernetes クラスターで実行するサービスの数によって異なります。 デプロイ用に合計 256 個の IP アドレス (/24 サブネット) を予約します。

ネットワーク要件の詳細については、「AKS のノード ネットワークの概念」および「AKS のコンテナー ネットワークの概念」を参照してください。

ネットワーク ポートと URL の要件

Windows Server 上の AKS の要件

Kubernetes クラスターを作成すると、クラスター内の各サーバーで次のファイアウォール ポートが自動的に開かれます。

物理クラスター ノードと Azure Kubernetes クラスター VM が 2 つの分離された VLAN 上にある場合は、それらの間のファイアウォールでこれらのポートを開く必要があります。

Port Source 説明 ファイアウォールに関する注意事項
22 AKS VM Get-AksHciLogs の使用時にログを収集するために必要です。 個別の VLAN を使用する場合、物理 Hyper-V ホストはこのポート上の AKS VM にアクセスする必要があります。
6443 AKS VM Kubernetes API と通信するために必要です。 個別の VLAN を使用する場合、物理 Hyper-V ホストはこのポート上の AKS VM にアクセスする必要があります。
45000 物理 Hyper-V ホスト wssdAgent gRPC サーバー。 クロス VLAN ルールは必要ありません。
45001 物理 Hyper-V ホスト wssdAgent gRPC 認証。 クロス VLAN ルールは必要ありません。
46000 AKS VM wssdCloudAgent to lbagent。 個別の VLAN を使用する場合、物理 Hyper-V ホストはこのポート上の AKS VM にアクセスする必要があります。
55000 クラスター リソース (-CloudServiceCIDR) クラウド エージェント gRPC サーバー。 個別の VLAN を使用する場合、AKS VM はこのポート上のクラスター リソースの IP にアクセスする必要があります。
65000 クラスター リソース (-CloudServiceCIDR) クラウド エージェント gRPC 認証。 個別の VLAN を使用する場合、AKS VM はこのポート上のクラスター リソースの IP にアクセスする必要があります。

ネットワークでインターネットに接続するためにプロキシ サーバーを使用する必要がある場合は、「AKS でプロキシ サーバー設定を使用する」を参照してください。

許可リストに次の URL を追加します。

URL Port メモ
msk8s.api.cdp.microsoft.com 443 WINDOWS Server 製品カタログ、製品ビット、および OS イメージ上の AKS を SFS からダウンロードするときに使用されます。 Set-AksHciConfigを実行しているときに、SFS からダウンロードするたびに発生します。
msk8s.b.tlu.dl.delivery.mp.microsoft.com
msk8s.f.tlu.dl.delivery.mp.microsoft.com
80 WINDOWS Server 製品カタログ、製品ビット、および OS イメージ上の AKS を SFS からダウンロードするときに使用されます。 Set-AksHciConfigを実行しているときに、SFS からダウンロードするたびに発生します。
login.microsoftonline.com
login.windows.net
management.azure.com
msft.sts.microsoft.com
graph.windows.net
443 Set-AksHciRegistration の実行中に Azure にログインするために使用されます。
ecpacr.azurecr.io
mcr.microsoft.com
*.mcr.microsoft.com
*.data.mcr.microsoft.com
*.blob.core.windows.net
US エンドポイント: wus2replica*.blob.core.windows.net
443 Install-AksHci の実行中にコンテナー イメージをプルするために必要です。
<リージョン>.dp.kubernetesconfiguration.azure.com 443 Windows Server クラスター上の AKS を Azure Arc にオンボードするために必要です。
gbl.his.arc.azure.com 443 システム割り当て管理 ID 証明書をプルするためリージョン エンドポイントを取得するために必要です。
*.his.arc.azure.com 443 システム割り当てマネージド ID 証明書をプルするために必須。
k8connecthelm.download.prss.microsoft.com 443 Arc 対応 Kubernetes では、Helm 3 を使用して、Windows Server 管理クラスター上の AKS に Azure Arc エージェントをデプロイします。 このエンドポイントは、エージェント Helm chart のデプロイを容易にするために、Helm クライアントのダウンロードに必要です。
*.arc.azure.net 443 Azure portal で AKS Arc クラスターを管理するために必要です。
dl.k8s.io 443 Azure Arc の Kubernetes バイナリをダウンロードして更新するために必要です。
akshci.azurefd.net 443 Install-AksHci を実行する場合、AKS on Windows Server の課金に必要です。
v20.events.data.microsoft.com
gcs.prod.monitoring.core.windows.net
443 Microsoft の必要な診断データを Windows Server ホストから定期的に送信するために使用されます。

Windows Server 上の AKS は、顧客データを格納および処理します。 既定では、顧客データはサービス インスタンスをデプロイするリージョン内にとどまります。 このデータは、Microsoft が運営する地域のデータセンターに格納されます。 データの所在地要件があるリージョンの場合、顧客データは常に同じリージョン内に保持されます。

Azure Arc 機能の追加の URL 要件

前の URL の一覧には、課金のために AKS サービスを Azure に接続するために必要な最小限の URL が記載されています。 AKS ワークロード クラスターでクラスター接続、カスタムの場所、Azure RBAC、Azure Monitor などのその他の Azure サービスを使用する場合は、追加の URL を許可する必要があります。 Arc URL の完全なリストについては、「Azure Arc 対応 Kubernetes ネットワークの要件」を参照してください。

AKS のストレッチ クラスター

ストレッチ クラスターの概要で説明したように、Windows ストレッチ クラスターを使用した Windows Server への AKS の展開はサポートされていません。 データセンターの運用の継続性を確保するには、バックアップとディザスター リカバリーのアプローチを使用することをお勧めします。 詳細については、「 Windows Server で Velero と Azure Blob Storage を使用してワークロード クラスターのバックアップまたは復元を実行する」と、アプリケーション継続性のために Flux v2 で GitOps を使用して AksHci に構成をデプロイ する方法に関するページを参照してください。

Windows Admin Center の要件

Windows Admin Center は、Windows Server で AKS を作成および管理するためのユーザー インターフェイスです。 Windows Server 上の AKS で Windows Admin Center を使用するには、次の一覧のすべての条件を満たす必要があります。

これらの要件は、Windows Admin Center ゲートウェイを実行しているコンピューターに適用されます。

  • Windows 10 または Windows Server。
  • Azure に登録済み.
  • Windows Server データセンター クラスターと同じドメイン内。
  • 所有者権限を持つ Azure サブスクリプション。 アクセス レベルを確認するには、サブスクリプションに移動し、Azure ポータルの左側にある [アクセス制御 (IAM)] を選択してから [マイ アクセスの表示] を選択します。

Azure の要件

Azure アカウントに接続する必要があります。

Azure アカウントとサブスクリプション

まだ Azure アカウントを持っていない場合は作成します。 以下のいずれかの種類の既存のサブスクリプションを使用できます。

  • 学生または Visual Studio サブスクライバー向けの Azure クレジットが付いた無料アカウント。
  • クレジット カードを使用した従量課金制サブスクリプション。
  • マイクロソフトエンタープライズ契約 (EA) を通じて取得されたサブスクリプション。
  • クラウド ソリューション プロバイダー (CSP) プログラムを通じて取得されたサブスクリプション。

Microsoft Entra の権限、役割、アクセス レベル

アプリケーションを Microsoft Entra テナントに登録するには、十分な権限が必要です。

十分なアクセス許可があることを確認するには、次のセクションの情報に従います。

  • Azure portal に移動し、[Microsoft Entra ID][ロールと管理者] を選択してロールを確認します。
  • ロールが ユーザーの場合は、管理者以外がアプリケーションを登録できることを確認します。
  • アプリケーションを登録できるかどうかを確認するには、Microsoft Entra サービスの [ユーザー設定] に移動して、アプリケーションを登録する権限があるかどうかを確認します。

アプリの登録の設定が [いいえ] に設定されている場合は、管理者ロールを持つユーザーのみが、これらの種類のアプリケーションを登録できます。 利用可能な管理者ロールと、各ロールに付与される Microsoft Entra ID の特定のアクセス許可については、「Microsoft Entra 組み込みロール」を参照してください。 アカウントに [ユーザー] ロールが割り当てられているが、アプリの登録の設定が管理者ユーザーに制限されている場合は、アプリの登録のすべての側面について作成と管理が可能な管理者ロールの 1 つを、登録を行うユーザーに割り当てるか、ユーザーがアプリを登録できるようにするよう、管理者に依頼してください。

アプリケーションを登録するための十分なアクセス許可がなく、管理者がこれらのアクセス許可を付与できない場合は、適切なアクセス許可を持つサービス プリンシパルを作成するように Azure 管理者に依頼するのが、AKS をデプロイする最も簡単な方法です。 管理者は、サービス プリンシパルの作成方法を次のセクションで確認できます。

Azure サブスクリプションのロールとアクセス レベル

自分のアクセス レベルを確認するには、お使いのサブスクリプションに移動し、Azure portal の左側にある [アクセス制御 (IAM)] を選択して、[マイ アクセスの表示] を選択します。

  • Windows Admin Center を使用して AKS ホストまたは AKS ワークロード クラスターをデプロイしている場合は、自分が所有者である Azure サブスクリプションが必要です。
  • PowerShell を使用して AKS ホストまたは AKS ワークロード クラスターをデプロイしている場合は、クラスターを登録するユーザーに、次のうち少なくとも 1 つが必要です。
    • 組み込みの所有者ロールを持つユーザー アカウント。
    • 次のいずれかのアクセス レベルを持つサービス プリンシパル:

Azure サブスクリプションが EA または CSP 経由の場合、AKS をデプロイする最も簡単な方法は、Azure 管理者に適切なアクセス許可を持つサービス プリンシパルの作成を依頼することです。 管理者は、サービス プリンシパルの作成方法について次のセクションを確認できます。

省略可能: 新しいサービス プリンシパルを作成する

次の手順を実行して、組み込みの所有者ロールを持つ新しいサービス プリンシパルを作成します。 適切なロールの割り当てを持つサービス プリンシパルを作成できるのは、サブスクリプションの所有者だけです。 アクセス レベルを確認するには、サブスクリプションに移動し、Azure ポータルの左側にある [アクセス制御 (IAM)] を選択してから [マイ アクセスの表示] を選択します。

PowerShell 管理ウィンドウで次の PowerShell 変数を設定します。 サブスクリプションとテナントが、課金のために AKS ホストを登録するために使用するものであることを確認します。

$subscriptionID = "<Your Azure subscrption ID>"
$tenantID = "<Your Azure tenant ID>"

AKS PowerShell モジュールをインストールしてインポートします。

Install-Module -Name AksHci

Connect-AzAccount PowerShell コマンドを使用して Azure にサインインします。

Connect-AzAccount -tenant $tenantID

Set-AzContext コマンドを実行して、既定のサブスクリプションとして AKS ホストを請求対象に登録するために使用するサブスクリプションを設定します。

Set-AzContext -Subscription $subscriptionID

Get-AzContext PowerShell コマンドを実行して、サインイン コンテキストが正しいことを確認します。 サブスクリプション、テナント、アカウントが、課金のために AKS ホストを登録するために使用する内容であることを確認します。

Get-AzContext
Name                                     Account                      SubscriptionName             Environment                  TenantId
----                                     -------                      ----------------             -----------                  --------
myAzureSubscription (92391anf-...        user@contoso.com             myAzureSubscription          AzureCloud                   xxxxxx-xxxx-xxxx-xxxxxx

New-AzADServicePrincipal PowerShell コマンドを実行して、サービス プリンシパルを作成します。 このコマンドは、所有者ロールを持つサービス プリンシパルを作成し、サブスクリプション レベルで範囲を設定します。 サービス プリンシパルの作成について詳しくは、「Azure PowerShell で Azure サービス プリンシパルを作成する」を参照してください。

$sp = New-AzADServicePrincipal -role "Owner" -scope /subscriptions/$subscriptionID

次のコマンドを実行して、このサービス プリンシパルのパスワードを取得します。 このコマンドは、Az.Accounts 2.6.0 以前でのみ機能します。 AksHci PowerShell モジュールをインストールすると、Az.Accounts 2.6.0 モジュールが自動的にダウンロードされます。

$secret = $sp.PasswordCredentials[0].SecretText
Write-Host "Application ID: $($sp.ApplicationId)"
Write-Host "App Secret: $secret"

前の出力から、AKS をデプロイするときに使用できるアプリケーション IDシークレットが得られました。 これらの項目をメモし、安全に保存します。 作成されたら、Azure portal の [サブスクリプション][アクセス制御][ロールの割り当て] の順に移動して、新しいサービス プリンシパルを確認できます。

Azure リソース グループ

登録する前に、オーストラリア東部、米国東部、東南アジア、または西ヨーロッパの Azure リージョンに Azure リソース グループを用意しておく必要があります。

Azure Azure リージョン

警告

AKS Arc は現在、次の指定された Azure リージョン内でのみクラスターの作成をサポートしています。 この一覧以外のリージョンにデプロイしようとすると、デプロイに失敗します。

AKS Arc サービスは登録、課金、管理に使用されます。 現在、次のリージョンがサポートされています。

  • 米国東部
  • 米国中南部
  • 西ヨーロッパ

Active Directory 要件

2 つ以上の物理ノードを持つ AKS フェールオーバー クラスターが Active Directory 環境で最適に機能するには、次の要件が満たされていることを確認します。

Active Directory は、単一ノードの Windows Server 展開には必要ありません。

  • すべてのクラスター ノードとドメイン コントローラーで相違が 2 分を超えないように、時刻同期を設定します。 時刻同期の設定については、「Windows タイム サービス」を参照してください。
  • AKS または Windows Server Datacenter クラスターの追加、更新、管理に使用するユーザー アカウントに、Active Directory での適切なアクセス許可があることを確認します。 組織単位 (OU) を使用してサーバーとサービスのグループ ポリシーを管理する場合、ユーザー アカウントには OU 内のすべてのオブジェクトに対する一覧表示、読み取り、変更、削除のアクセス許可が必要です。
  • AKS または Windows Server Datacenter クラスターのサーバーとサービスには、個別の組織単位 (OU) を使用します。 別個の OU を使用することで、アクセスとアクセス許可をよりきめ細かに制御できるようになります。
  • Active Directory のコンテナーで GPO テンプレートを使用している場合は、Windows Server への AKS の展開がポリシーから除外されていることを確認します。

次のステップ

これらの前提条件をすべて満たしたら、次を使用して AKS ホストを設定できます。