9.5. Cruise Control
Cruise Control は、次の Kafka 操作をサポートするオープンソースシステムです。
- クラスターワークロードのモニタリング
- 定義済みの制約に基づくクラスターのリバランス
この操作は、ブローカー Pod をより効率的に使用する、よりバランスの取れた Kafka クラスターを実行するのに役立ちます。
通常、クラスターの負荷は時間とともに不均等になります。大量のメッセージトラフィックを処理するパーティションは、使用可能なブローカー全体で均等に分散されない可能性があります。クラスターを再分散するには、管理者はブローカーの負荷を監視し、トラフィックの多いパーティションを容量に余裕のあるブローカーに手作業で再割り当てします。
Cruise Control はクラスターのリバランス処理を自動化します。CPU、ディスク、およびネットワーク負荷を基にして、クラスターにおけるリソース使用のワークロードモデルを構築し、パーティションの割り当てをより均等にする、最適化プロポーザル (承認または拒否可能) を生成します。これらのプロポーザルの算出には、設定可能な最適化ゴールが複数使用されます。
特定のモードで最適化の提案を生成できます。デフォルトの full
モードでは、すべてのブローカー間でパーティションがリバランスされます。add-brokers
および remove-brokers
モードを使用して、クラスターをスケールアップまたはスケールダウンするときの変更に対応することもできます。
最適化プロポーザルを承認すると、Cruise Control はそのプロポーザルを Kafka クラスターに適用します。KafkaRebalance
リソースを使用して、最適化の提案を設定および生成します。最適化の提案が自動または手動で承認されるように、アノテーションを使用してリソースを設定できます。
Prometheus は、Cruise Control のメトリクスデータを抽出できます。これには、最適化プロポーザルおよびリバランス操作に関連するデータが含まれます。サンプル設定ファイルおよび Cruise Control の Grafana ダッシュボードは、AMQ Streams で提供されます。