ネットワークのサイズ設定

完了

必要な IP アドレスの数を決定するには、ポッドとノードの数を把握しておく必要があります。 必要なポッドとノードの数がわかったら、ネットワークのサイズ設定を見てみましょう。

仮想ネットワーク サブネットのサイズ設定

Kubernetes クラスター ノードには最大 7 台の VM が必要です。 アップグレード プロセス中に、追加のノードが一時的に Azure Kubernetes Service (AKS) クラスターに追加されることに注意してください。 そのため、8 つの仮想マシン (VM) に基づいてネットワーク サイズを計算する必要があります。

Maximum 7 VMs + 1 VM for upgrades = 8 node IP addresses

既定では、Azure Container Networking Interface (CNI) プラグインを使う AKS クラスターは、ノードあたり最大 30 個のポッドを許可するように構成されています。 この値は、10 から 250 までの任意のポッド数の値に構成できます。 ネットワーク サイズ設定の計算では、その最大数のポッドをデプロイできるようにする必要があります。

8 VMs x 30 pods per node maximum = 240 pod IP addresses

ノードには 8 個の IP アドレス、ポッドには 240 個の IP アドレスが必要です。

8 node IP addresses + 240 pod IP addresses = 248 IP addresses

ヒント

クラスターで内部 Azure Load Balancer を使用する予定の場合は、IP アドレスも必要です。 ロード バランサーには専用サブネットを使うことが一般的ですが、ノードと同じサブネットを使う予定の場合は、そのことを考慮する必要があります。

この設計では、既定のノード プール構成を保持することにしました。 既定の構成では、すべてを実行する単一のシステム モード ノード プールが使用されます。 システム コンポーネントがアプリケーションから確実に分離されるようにする場合、少なくとも 2 つのノード プールが必要です。 それを考慮して、IP アドレス範囲の計算を調整する必要があります。

これで、組織内でネットワーク割り当てを担当するチームと相談して、248 個の IP アドレスをサポートするサブネットを要求できるようになりました。 Azure Virtual Network にサブネットを作成すると、システムで使用するために 5 つの IP アドレスが予約されます。 /24 アドレス範囲には 251 個の使用可能な IP アドレスがあり、クラスターに適しています。

Kubernetes サービスのアドレス範囲の選択

ノードとポッドのサブネットを選ぶと、選択するアドレス範囲は 1 つだけになります。つまり、Kubernetes Service のアドレス範囲です。 Kubernetes Service は、トラフィックをポッドにルーティングできるようにする静的仮想 IP アドレスを提供します。 このアドレス範囲は、クラスター内のトラフィックをルーティングするためにのみ使用されるものです。 アドレス範囲がクラスターの外部で使われたり公開されたりすることはありません。 そのため、Azure またはオンプレミス ネットワークの別の場所で使われていないプライベート ネットワーク アドレス範囲を選ぶ必要があります。

ヒント

Kubernetes サービスのアドレス範囲はクラスターの外部で使用されることがないため、このアドレス範囲は複数のクラスターで再使用できます。

サービス アドレス範囲を選択する際の規則は次のとおりです。

  • この範囲は、クラスターに使用される仮想ネットワークの IP アドレス範囲内にすることはできません。
  • この範囲は、クラスター ネットワークにピアリングされている他の仮想ネットワークの IP アドレス範囲内にすることはできません。
  • この範囲は、オンプレミス ネットワークで使用する IP アドレス範囲と重複することはできません。
  • この範囲は、IP アドレス範囲 169.254.0.0/16、172.30.0.0/16、172.31.0.0/16、192.0.2.0/24 にすることはできません。

通常は、クラスター内のサービスに対して多数の IP アドレスが必要になることはありません。 通常、アプリケーションの複数のレプリカを実行するポッドのグループの前面に、1 つのサービスを配置します。 この場合、アプリケーションを形成する 8 個の異なるサービスがあるため、必要なサービス IP アドレスは 8 個だけです。

イングレス コントローラーやサービス メッシュなど、クラスターで実行されている他のサービスでは、より多くのサービス IP アドレスが消費される可能性があります。 今後使用する可能性のある他のサービスのために余裕を持たせることを考慮するのが最善です。 通常は広いアドレス範囲を使用することをお勧めします。 /24 アドレス範囲は、クラスターの操作に十分な領域を提供します。

DNS サービスの IP アドレスの選択

Kubernetes は、組み込みのドメイン ネーム システム (DNS) サービスを使って、クラスター内のサービス検出機能を提供します。 DNS サービスには、Kubernetes Service アドレス範囲内の IP アドレスが必要です。 Kubernetes Service アドレス範囲から最初の IP アドレスを使用することはできませんが、その他の値は許容されます。

これで、クラスターをデプロイするために必要なすべての情報を得ました。