12.4.3. Pod アノテーションを使用したローリングアップデートの実行
この手順では、OpenShift Pod
アノテーションを使用して、既存の Kafka クラスターまたは ZooKeeper クラスターのローリングアップデートを手動でトリガーする方法を説明します。複数の Pod にアノテーションが付けられると、連続したローリングアップデートは同じ調整実行内で実行されます。
前提条件
使用されるトピックレプリケーション係数に関係なく、Kafka クラスターでローリングアップデートを実行できます。ただし、更新中に Kafka を稼働し続けるには、以下が必要になります。
- 更新するノードで実行されている高可用性 Kafka クラスターデプロイメント。
高可用性のためにレプリケートされたトピック。
少なくとも 3 つのレプリケーション係数と、レプリケーション係数よりも 1 つ少ない In-Sync レプリカの最小数を指定するトピック設定。
高可用性のためにレプリケートされた Kafka トピック
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
手動で更新する Kafka または ZooKeeper
Pod
の名前を見つけます。たとえば、Kafka クラスターの名前が my-cluster の場合、対応する
Pod
名は my-cluster-kafka-index と my-cluster-zookeeper-index になります。インデックス はゼロで始まり、レプリカの総数マイナス 1 で終わります。OpenShift で
Pod
リソースにアノテーションを付けます。oc annotate
を使用します。oc annotate pod cluster-name-kafka-index strimzi.io/manual-rolling-update=true oc annotate pod cluster-name-zookeeper-index strimzi.io/manual-rolling-update=true
oc annotate pod cluster-name-kafka-index strimzi.io/manual-rolling-update=true oc annotate pod cluster-name-zookeeper-index strimzi.io/manual-rolling-update=true
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
次の調整が発生するまで待ちます (デフォルトでは 2 分ごとです)。アノテーションが調整プロセスで検出されれば、アノテーションが付けられた
Pod
のローリングアップデートがトリガーされます。Pod のローリングアップデートが完了すると、アノテーションはPod
から削除されます。