第3章 テクノロジープレビュー
テクノロジープレビューの機能は、Red Hat の実稼働環境のサービスレベルアグリーメント (SLA) ではサポートされず、機能的に完全ではないことがあるため、Red Hat はテクノロジープレビュー機能を実稼働環境に実装することは推奨しません。テクノロジープレビューの機能は、最新の技術をいち早く提供して、開発段階で機能のテストやフィードバックの収集を可能にするために提供されます。サポート範囲の詳細は、「テクノロジプレビュー機能のサポート範囲」を参照してください。
3.1. Cruise Control によるクラスターのリバランス リンクのコピーリンクがクリップボードにコピーされました!
Cruise Control は本リリースでもテクノロジープレビューの機能であり、新たな改良 が加えられました。
Cruise Control を AMQ Streams クラスターにデプロイし、これを使用して 最適化ゴール (CPU、ディスク、およびネットワークの負荷に対して事前定義された制約) を使用した Kafka クラスターのリバランスを行えるようになりました。バランス調整された Kafka クラスターでは、ワークロードがブローカー Pod 全体に均等に分散されます。
Cruise Control は Kafka リソースの一部として設定され、デプロイされます。Cruise Control の YAML 設定ファイルのサンプルは、examples/cruise-control/ にあります。
Cruise Control がデプロイされると、KafkaRebalance カスタムリソースを使用できます。
- 複数の最適化のゴールから、最適化のプロポーザルを生成します。
- 最適化のプロポーザルを基にして Kafka クラスターを再分散します。
異常検出、通知、独自ゴールの作成、トピックレプリケーション係数の変更などの、その他の Cruise Control の機能は現在サポートされていません。
「Cruise Control によるクラスターのリバランス」を参照してください。
3.1.1. テクノロジープレビューの改良 リンクのコピーリンクがクリップボードにコピーされました!
テクノロジープレビューである Cruise Control を使用したクラスターのリバランスに、以下の改良が加えられました。
リバランスパフォーマンスチューニング
新しい 5 つの パフォーマンスチューニングオプション を使用すると、クラスターのリバランスの実行方法を制御し、パフォーマンスへの影響を軽減することができます。
クラスターのリバランスを構成する パーティション再割り当てコマンド のバッチごとに、以下を設定できます。
- ブローカー毎のパーティション同時移動の最大数 (デフォルトは 5)。
- ブローカー内でのパーティション同時実行の最大数 (デフォルトは 2)。
- リーダーの同時移動の最大数 (デフォルトは 1000)。
- パーティションの再割り当てに割り当てるバイト/秒単位の帯域幅 (デフォルトは制限なし)。
-
レプリカの移動ストラテジー (デフォルトは
BaseReplicaMovementStrategyです)
以前のバージョンでは、AMQ Streams はこれらのオプションを Cruise Control から継承するため、デフォルト値を調整できませんでした。
Cruise Control サーバー、個別のリバランス、またはその両方のパフォーマンスチューニングオプションを設定できます。
-
Cruise Controlサーバーの場合は、
Kafkaのカスタムリソースのspec.cruiseControl.configにオプションを設定します。 -
クラスターリバランスの場合は、
KafkaRebalanceカスタムリソースのspecプロパティーにオプションを設定します。
「リバランスパフォーマンスチューニングの概要」を参照してください。
最適化プロポーザルからトピックを除外
最適化プロポーザルから 1 つ以上のトピックを除外できるようになりました。これらのトピックは、クラスターリバランスのパーティションレプリカおよびパーティションリーダーシップの移動の計算に含まれていません。
トピックを除外するには、KafkaRebalance カスタムリソースのトピック名と一致する正規表現を、spec.excludedTopicsRegex に指定します。
生成された最適化プロポーザルの excludedTopics プロパティーに除外されたトピックが表示されます。
「リバランスパフォーマンスチューニングの概要」を参照してください。
CPU 容量ゴールのサポート
CPU 容量に基づいた Kafka クラスターのリバランスが、以下の設定でサポートされるようになりました。
-
CpuCapacityGoal最適化の目的 -
cpuUtilization容量制限
CPU 容量ゴールは、各ブローカーの CPU 使用率がしきい値の最大割合 (パーセント) を越えないようにします。デフォルトのしきい値は、ブローカーごとに CPU 容量の 100% に設定されます。
しきい値の割合を減らすには、Kafka カスタムリソースに cpuUtilization 容量制限を設定します。容量制限はすべてのブローカーに適用されます。
CPU 容量は Cruise Control のハードゴールとして事前設定されます。そのため、Kafka.spec.cruiseControl.config の hard.goals プロパティーで事前設定されたハードゴールをオーバーライドしない限り、Cruise Control からハードゴールとして継承されます。
KafkaRebalance カスタムリソースの CPU 容量ゴールの設定例
CPU 使用容量制限の割合の設定例