18.5. Configuring and deploying Cruise Control with Kafka
Kafka リソースを設定して、Kafka クラスターと共に Cruise Control をデプロイします。Kafka リソースの CruiseControl プロパティーを使用して、デプロイを設定できます。Kafka クラスターごとに Cruise Control のインスタンスを 1 つデプロイします。
最適化の提案を生成するための最適化ゴールを指定するには、Cruise Control config で goals 設定を使用します。brokerCapacity を使用して、リソース配分に関連するゴールのデフォルトの容量制限を変更できます。ブローカーが異種ネットワークリソースを持つノードで実行されている場合、overrides を使用して各ブローカーのネットワーク容量制限を設定できます。
空のオブジェクト ({}) が CruiseControl 設定に使用されている場合、すべてのプロパティーはデフォルト値を使用します。
Cruise Control の設定オプションの詳細は、AMQ Streams カスタムリソースの API リファレンス を参照してください。
前提条件
- OpenShift クラスター
- 稼働中の Cluster Operator
手順
KafkaリソースのcruiseControlプロパティーを編集します。設定可能なプロパティーは以下の例のとおりです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- ブローカーリソースの容量制限。
- 2
- オーバーライドは、異種ネットワークリソースを持つノード上で実行されている場合に、特定のブローカーのネットワーク容量制限を設定します。
- 3
- Cruise Control の設定AMQ Streams によって直接管理されないプロパティーに限り、標準 Cruise Control 設定の提供が可能です。
- 4
- 最適化ゴールの設定。デフォルトの最適化ゴール (
default.goals)、メインの最適化ゴール (goals)、およびハードゴール (hard.goals) の設定を含めることができます。 - 5
- CORS が有効になっており、Cruise Control API への読み取り専用アクセスが設定されています。
- 6
- 現在
cpuおよびmemoryである、サポートされるリソースの予約を要求し、消費可能な最大リソースを指定を制限します。 - 7
- Cruise Control ロガーとログレベルは、ConfigMap を通じて直接 (
inline) または間接 (external) に追加されます。カスタム Log4j 設定は、ConfigMap のlog4j.propertiesキーの下に配置する必要があります。Cruise Control には、rootLogger.levelという名前の単一のロガーがあります。ログレベルは INFO、ERROR、WARN、TRACE、DEBUG、FATAL、または OFF に設定できます。 - 8
- テンプレートのカスタマイズ。ここでは、Pod が追加のセキュリティー属性でスケジュールされています。
- 9
- コンテナーを再起動するタイミング (liveness) およびコンテナーがトラフィックを許可できるタイミング (readiness) を把握するためのヘルスチェック。
- 10
- Prometheus メトリックが有効になりました。この例では、メトリクスは Prometheus JMX Exporter (デフォルトのメトリクスエクスポーター) に対して設定されます。
リソースを作成または更新します。
oc apply -f <kafka_configuration_file>
oc apply -f <kafka_configuration_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメントのステータスを確認します。
oc get deployments -n <my_cluster_operator_namespace>
oc get deployments -n <my_cluster_operator_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow デプロイメント名と準備状態が表示されている出力
NAME READY UP-TO-DATE AVAILABLE my-cluster-cruise-control 1/1 1 1
NAME READY UP-TO-DATE AVAILABLE my-cluster-cruise-control 1/1 1 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow my-clusterは Kafka クラスターの名前です。READYは、Ready/expected 状態のレプリカ数を表示します。AVAILABLE出力に1が表示されれば、デプロイメントは成功しています。
自動作成されたトピック
以下の表は、Cruise Control のデプロイ時に自動作成される 3 つのトピックを表しています。このトピックは、Cruise Control が適切に動作するために必要であるため、削除または変更しないでください。指定された設定オプションを使用して、トピックの名前を変更できます。
| 自動作成されたトピック設定 | デフォルトのトピック名 | 作成元 | 機能 |
|---|---|---|---|
|
|
| AMQ Streams の Metrics Reporter | Metrics Reporter からの raw メトリクスを各 Kafka ブローカーに格納します。 |
|
|
| Cruise Control | 各パーティションの派生されたメトリックを格納します。これは Metric Sample Aggregator によって作成されます。 |
|
|
| Cruise Control | クラスターワークロードモデル の作成に使用されるメトリックサンプルを格納します。 |
Cruise Control に必要なレコードを削除しないようにするため、自動作成されたトピックではログの圧縮は無効になっています。
自動作成されたトピックの名前が、すでに Cruise Control が有効になっている Kafka クラスターで変更された場合、古いトピックは削除されないため、手動で削除する必要があります。
次のステップ
Cruise Control を設定およびデプロイした後、最適化プロポーザルを生成 できます。