Routing Directorの実装
Routing Director の実装に必要なリソースを決定するには、基盤となるインフラストラクチャである Routing Director の基本を理解する必要があります。
Routing Director は、API を介して相互に対話し、Kubernetes クラスター内のコンテナ内で実行されるマイクロサービスの集合です。Kubernetesクラスターは、コンテナ化されたアプリケーションを実行するノードまたは仮想マシン(VM)のセットです。
Kubernetesクラスターは、1つ以上のプライマリノードとワーカーノードで構成されます。
-
コントロールプレーン(プライマリ)ノード—プライマリノードは、Kubernetesコントロールプレーン機能を実行します。
-
コンピュート(ワーカー)ノード—ワーカーノードは、ポッドを実行するためのリソースを提供します。ワーカーノードにはコントロールプレーン機能がありません。
2種類のノードは、別々に展開することも、同じVMに同じ場所に配置することもできます。両方のロールに必要なコンポーネントが同じノードにインストールされている場合、単一のノードはプライマリとワーカーの両方として機能できます。
Routing Directorでは、デフォルトでは、プライマリノードはワーカーノードとしても機能します。
意図するシステムの容量(管理するデバイスの数、ユースケースなど)、必要な可用性のレベル、予想されるシステムのパフォーマンスを考慮して、以下のクラスターパラメーターを決定する必要があります。
- クラスター内のノードの合計数
- 各ノードのリソース量(CPU、メモリ、ディスク領域)
- プライマリノードとワーカーノードとして動作するノード数
各ノードのリソース量については、このガイドの後述の 「ハイパーバイザーのシステム要件 と AWS のシステム要件」で説明します。
Routing Directorの実装
Routing Directorは、1つ以上のプライマリノードと1つ以上のワーカーノードで構成されるKubernetesクラスターの上に実装されます。
実稼働環境の場合、機能するクラスターには、プライマリ ノードとワーカー ノードの両方として機能するノードが少なくとも 3 つ必要です。この実装により、パフォーマンスが向上するだけでなく、クラスター内の高可用性が可能になります。
-
コントロールプレーンの高可用性—プライマリノードとワーカーノードの両方として機能する3つのノードが、必要なコントロールプレーンの冗長性を提供します。サポートするプライマリノードは3つまでです。
-
ワークロードの高可用性—ワークロードの高可用性とワークロードパフォーマンスのためには、複数のワーカーが必要です。Routing Director では、プライマリ ノードとワーカー ノードの両方として機能する 3 つのノードが必要なワークロードの高可用性を提供します。クラスターに 4 つのノードが含まれている場合、4 番目のノードはワーカー専用ノードとして機能し、追加のワークロードの高可用性を提供します。
-
ストレージの高可用性—ストレージの高可用性のために、すべてのノードがCephストレージを提供します。
Routing Directorは、シングルまたはマルチノード両方のクラスターとして実装されます。マルチノードクラスターには、3つまたは4つのノードを含めることができます。4 ノード クラスターでは、3 つのノードがプライマリ ノードとワーカー ノードとして機能し、1 つのノードがワーカー専用ノードとして機能します。3 ノード クラスターでは、3 つのノードすべてがプライマリ ノードとワーカー ノードとして機能します。
さらに、最小限の数(10台未満)のデバイスのみを管理する必要があるラボ環境、POC、および小規模導入において、単一ノードにRouting Directorを展開できます。シングルノードの導入は、拡張性や可用性の要件が実稼働の導入よりもはるかに厳しくない場合にのみ使用する必要があります。シングルノードの導入では、高可用性を実現できません。
単一ノード、3 ノード、4 ノード クラスタのインストール プロセスはほぼ同じで、ハードウェア リソース要件と Kubernetes ノード インデックスの構成が異なるだけです。
このドキュメントの残りの部分では、4ノードクラスターのインストールと設定に焦点を当てます。3ノードクラスターまたは単一ノードの導入の設定における相違点については、対応するインストール手順で明示的に説明します。
クラスターノードとサーバーの高可用性
マルチノードRouting Director導入クラスターは、単一のノードに障害が発生したり、ノード間の最大往復遅延が 25ミリ秒未満の場合でも機能し続けます。
サーバーに障害が発生してもクラスターが機能し続けるようにするには、別のサーバーにクラスターを実装します。サーバーとノードの両方の高可用性を維持するために推奨される実装を 図 2 に示します。これにより、サーバーの1つに障害が発生しても、クラスターは機能し続けることができます。
この例では、10.1.2.7がGUIのVIPアドレスであり、10.1.2.0/24ネットワーク上にあることに注意してください。10.1.2.0/24ネットワーク上でローカル10.1.2.7に到達できます。また、NAT を使用して外部 IP アドレスを 10.1.2.7 に変換することで、外部から 10.1.2.7 に到達することもできます。
この図は、クラスターノードとVIPアドレスがすべて同じサブネット内にある4ノードクラスターを示しています。クラスターには 3 つのノードを含めることができ、ノードと VIP アドレスを異なるサブネットに配置することもできます。