2.6. MirrorMaker 2.0 のラックアウェアネスの設定

MirrorMaker 2.0 リソース設定で、ラックアウェアネスを有効化できるようになりました。これは、リージョン間ではなく、同じロケーション内でのデプロイメントを目的とした 特殊なオプション です。このオプションは、コネクターがリーダーレプリカではなく、最も近いレプリカから消費する場合に使用できます。

rack 設定の topologyKey は、ラック ID を含むノードラベルと一致する必要があります。次の例では、標準の topology.kubernetes.io/zone ラベルが指定されています。

MirrorMaker 2.0 のラック設定

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaMirrorMaker2
metadata:
  name: my-mirror-maker2
spec:
  version: 3.2.3
  # ...
  rack:
    topologyKey: topology.kubernetes.io/zone

最も近いレプリカから消費するには、Kafka ブローカー設定で RackAwareReplicaSelector も有効にする必要があります。

レプリカ対応セレクターを有効にした rack 設定例

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    # ...
    rack:
      topologyKey: topology.kubernetes.io/zone
    config:
      # ...
      replica.selector.class: org.apache.kafka.common.replica.RackAwareReplicaSelector
    # ...

Configuring Kafka MirrorMaker 2.0 および Rack schema reference を参照してください。