このトピックでは、Apigee ハイブリッドのクラスタの最小構成について説明します。これらの最小構成は、サポートされているすべての Kubernetes プラットフォームに適用されます。 このトピックの推奨事項は、試用版やテストシナリオなどの非本番環境のインストールに適用されます。Apigee ハイブリッドのインストール手順を実施する際は、これらの推奨事項を念頭に置いてください。
ノードプールについて
ノードプールとは、クラスタ内で同じ構成を持つノードのグループです。デフォルトでは、ハイブリッドはすべてのポッドをデフォルトのノードプールに割り当てます。リソースプールとして専用のノードプールを作成し、ハイブリッド コンポーネントをノードプールに割り当てることもできます。
通常、リソース要件が異なる Pod がある場合は、専用のノードプールを定義します。たとえば、apigee-cassandra
Pod には永続ストレージが必要ですが、他の Apigee ハイブリッド Pod には必要ありません。このため、Cassandra 用のステートフル ノードプールと、残りのハイブリッド ランタイム サービス用のステートレス ノードプールを作成することをおすすめします。詳細については、専用ノードプールを構成するをご覧ください。
次のセクションでは、ステートフル ノードプールとステートレス ノードプールの両方の構成を一覧表示します。
最小構成
以下の最小構成は、クラスタの設定時に使用します。
構成 | ステートフル ノードプール | ステートレス ノードプール |
---|---|---|
目的 | Cassandra データベース用のステートフル ノードプール。 | ランタイムの Message Processor 用のステートレス ノードプール。 |
ラベル名 | apigee-data | apigee-runtime |
ノード数 | ゾーンあたり 1(リージョンあたり 3) | ゾーンあたり 1(リージョンあたり 3) |
CPU | 8(本番環境) 4(非本番環境) |
8(本番環境) 4(非本番環境) |
RAM | 32(本番環境) 16(非本番環境) |
32(本番環境) 16(非本番環境) |
ストレージ | 動的 | ApigeeDeployment CRD で管理 |
最小ディスク IOPS | SAN または直接アタッチされたストレージで 2,000 IOPS。必要な IOPS をサポートできる場合であっても、NFS は推奨されません。 | SAN または直接アタッチされたストレージで 2,000 IOPS。必要な IOPS をサポートできる場合であっても、NFS は推奨されません。 |
マシン インスタンス タイプごとのネットワーク帯域幅 | 1 Gbps | 1 Gbps |
Cassandra ネットワークの要件
このセクションでは、Apigee ハイブリッドを設定する際のネットワーク要件と推奨事項について説明します。
ネットワーク帯域幅
Cassandra は Gossip プロトコルを使用して、ネットワーク トポロジに関する情報を他のノードと交換します。 Gossip の使用と Cassandra の分散性(読み書き操作のために複数のノードと通信しなければならない)により、多くのデータがネットワークを通じて転送されます。
Cassandra はマシン インスタンスごとに最低でも 1 Gbps のネットワーク帯域幅を必要とします。たとえば、GKE では、推奨される最小マシンタイプ e2-standard-4
の最小帯域幅は 1 Gbps です。本番環境にインストールする場合は、より高い Gbps を使用することをおすすめします。
Cassandra の最大レイテンシまたは 99 パーセンタイルのレイテンシは 100 ミリ秒未満にする必要があります。
リージョン間の安全なネットワーク接続
複数のリージョンにハイブリッドをインストールする場合は、リージョン間の接続が安全であることを確認します。
- リージョン間の接続の保護には、Google の Virtual Private Cloud(VPC)などのバーチャル プライベート ネットワーク ソリューションを使用します。
- ファイアウォールを開いて、Cassandra ノードが重複しないサブネット内のリージョン間に接続し、それらのネットワーク IP を解決できるようにします。
- Cassandra には、常にポート 7001 を使用します。他のすべてのポートは、リージョンに対してローカルです。セキュアポートの使用もご覧ください。
Cassandra NTP の要件
Cassandra のデータは、システムのタイムスタンプに基づいて同期されます。Cassandra クラスタ内のすべての Pod とすべてのリージョンで時刻が同期されていることを確認します。ノード間やリージョン間で時刻のずれがあると、データの不整合が生じます。
構成のスケーリング
追加の容量やスループットのニーズに基づいて初期構成をスケーリングする必要がある場合は、次のトピックをご覧ください。