2.7.2. それぞれの Kafka ブローカーを別のワーカーノードでスケジュールするための Pod の非アフィニティーの設定
多くの Kafka ブローカーまたは ZooKeeper ノードは、同じ OpenShift ワーカーノードで実行できます。ワーカーノードが失敗すると、それらはすべて同時に利用できなくなります。信頼性を向上させるために、podAntiAffinity 設定を使用して、各 Kafka ブローカーまたは ZooKeeper ノードを異なる OpenShift ワーカーノードにスケジュールすることができます。
前提条件
- OpenShift クラスター
- 稼働中の Cluster Operator
手順
クラスターデプロイメントを指定するリソースの
affinityプロパティーを編集します。ワーカーノードが Kafka ブローカーまたは ZooKeeper ノードで共有されないようにするには、strimzi.io/nameラベルを使用します。topologyKeyをkubernetes.io/hostnameに設定して、選択した Pod が同じホスト名のノードでスケジュールされないように指定します。これにより、同じワーカーノードを単一の Kafka ブローカーと単一の ZooKeeper ノードで共有できます。以下はその例です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLUSTER-NAMEは、Kafka カスタムリソースの名前です。Kafka ブローカーと ZooKeeper ノードが同じワーカーノードを共有しないようにする場合は、
strimzi.io/clusterラベルを使用します。以下はその例です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow CLUSTER-NAMEは、Kafka カスタムリソースの名前です。リソースを作成または更新します。
oc apply -f <kafka_configuration_file>
oc apply -f <kafka_configuration_file>Copy to Clipboard Copied! Toggle word wrap Toggle overflow