8.6. Cruise Control のデプロイ
Cruise Control を AMQ Streams クラスターにデプロイするいは、Kafka
リソースの cruiseControl
プロパティーを使用して設定を定義した後、リソースを作成または更新します。
Kafka クラスターごとに Cruise Control のインスタンスを 1 つデプロイします。
前提条件
- OpenShift クラスター。
- 稼働中の Cluster Operator。
手順
Kafka
リソースを編集し、cruiseControl
プロパティーを追加します。設定可能なプロパティーは以下の例のとおりです。
apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: my-cluster spec: # ... cruiseControl: brokerCapacity: 1 inboundNetwork: 10000KB/s outboundNetwork: 10000KB/s # ... config: 2 default.goals: > com.linkedin.kafka.cruisecontrol.analyzer.goals.RackAwareGoal, com.linkedin.kafka.cruisecontrol.analyzer.goals.ReplicaCapacityGoal # ... cpu.balance.threshold: 1.1 metadata.max.age.ms: 300000 send.buffer.bytes: 131072 # ... resources: 3 requests: cpu: 1 memory: 512Mi limits: cpu: 2 memory: 2Gi logging: 4 type: inline loggers: rootLogger.level: "INFO" template: 5 pod: metadata: labels: label1: value1 securityContext: runAsUser: 1000001 fsGroup: 0 terminationGracePeriodSeconds: 120 readinessProbe: 6 initialDelaySeconds: 15 timeoutSeconds: 5 livenessProbe: 7 initialDelaySeconds: 15 timeoutSeconds: 5 # ...
- 1
- ブローカーリソースの容量制限を指定します。詳細は、容量の設定 を参照してください。
- 2
- クルーズコントロールの設定を定義します。デフォルトの最適化目標(
default.goals
)と、メインの最適化目標(goals
)やハード目標(hard.goals
)のカスタマイズを含みます。AMQ Streams によって直接管理されるものを除き、標準の Cruise Cntrol 設定オプション をすべて提供できます。最適化ゴールの設定に関する詳細は、「最適化ゴールの概要」 を参照してください。 - 3
- Cruise Control によって予約された CPU およびメモリーリソース。詳細は、「
resources
」 を参照してください。 - 4
- ConfigMap より直接的 (inline) または間接的 (external) に追加されたロガーおよびログレベルを定義します。カスタム ConfigMap は、log4j.properties キー下に配置する必要があります。Cruise Controlには、
rootLogger.level
という名前の単一のロガーがあります。ログレベルは INFO、ERROR、WARN、TRACE、DEBUG、FATAL、または OFF に設定できます。詳細は、「ロギングの設定」を参照してください。 - 5
- 6
- 7
リソースを作成または更新します。
oc apply -f kafka.yaml
Cruise Control が正常にデプロイされたことを確認します。
oc get deployments -l app.kubernetes.io/name=cruise-control
自動作成されたトピック
以下の表は、Cruise Control のデプロイ時に自動作成される 3 つのトピックを表しています。これらのトピックは、Cruise Control が適切に動作するために必要であるため、削除または変更しないでください。
自動作成されたトピック | 作成元 | 機能 |
---|---|---|
| AMQ Streams の Metrics Reporter | Metrics Reporter からの raw メトリクスを各 Kafka ブローカーに格納します。 |
| Cruise Control | 各パーティションの派生されたメトリクスを格納します。これらは Metric Sample Aggregator によって作成されます。 |
| Cruise Control | クラスターワークロードモデル の作成に使用されるメトリクスサンプルを格納します。 |
Cruise Control に必要なレコードを削除しないようにするため、自動作成されたトピックではログの圧縮は無効になっています。
次のステップ
Cruise Control を設定およびデプロイした後、最適化プロポーザルを生成できます。
その他のリソース