27.9. アノテーションを使用した Kafka およびその他のオペランドのローリング更新の開始
AMQ Streams は、Cluster Operator を通じて Kafka およびその他のオペランドのローリング更新を手動でトリガーするためのアノテーションの使用をサポートしています。アノテーションを使用して、Kafka、Kafka Connect、MirrorMaker 2、および ZooKeeper クラスターのローリング更新を開始します。
通常、例外的な状況でのみ、特定の Pod や Pod のセットを手動で実行する必要があります。ただし、Pod を直接削除せずに、Cluster Operator 経由でローリング更新を実行すると、以下を確実に行うことができます。
- Pod を手動で削除しても、他の Pod を並行して削除するなどの、同時に行われる Cluster Operator の操作とは競合しません。
- Cluster Operator ロジックによって、In-Sync レプリカの数などの Kafka 設定で指定された内容が処理されます。
27.9.1. Pod 管理のアノテーションを使用したローリング更新の実行 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、Kafka、Kafka Connect、MirrorMaker 2、または ZooKeeper クラスターのローリング更新をトリガーする方法について説明します。更新をトリガーするには、クラスター上で実行されている Pod を管理するアノテーションを StrimziPodSet に追加します。
前提条件
手動ローリング更新を実行するには、Cluster Operator が実行されている必要があります。Kafka、Kafka Connect、MirrorMaker 2、または ZooKeeper のいずれであっても、更新するコンポーネントのクラスターも実行されている必要があります。
手順
手動で更新する Pod を制御するリソースの名前を見つけます。
たとえば、Kafka クラスターの名前が my-cluster の場合には、対応する名前は my-cluster-kafka および my-cluster-zookeeper になります。my-connect-cluster という名前の Kafka Connect クラスターの場合に、対応する名前は my-connect-cluster-connect です。my-mm2-cluster という名前の MirrorMaker 2 クラスターの場合、対応する名前は my-mm2-cluster-mirrormaker2 です。
oc annotateを使用して、OpenShift で適切なリソースにアノテーションを付けます。StrimziPodSet のアノテーション
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 次の調整が発生するまで待ちます (デフォルトでは 2 分ごとです)。アノテーションが調整プロセスで検出されれば、アノテーションが付いたリソース内のすべての Pod でローリング更新がトリガーされます。すべての Pod のローリング更新が完了すると、アノテーションはリソースから自動的に削除されます。
27.9.2. Pod アノテーションを使用したローリング更新の実行 リンクのコピーリンクがクリップボードにコピーされました!
この手順では、OpenShift Pod アノテーションを使用して、既存の Kafka、Kafka Connect、MirrorMaker 2、または ZooKeeper クラスターのローリング更新を手動でトリガーする方法について説明します。複数の Pod にアノテーションが付けられると、連続したローリング更新は同じ調整実行内で実行されます。
前提条件
手動ローリング更新を実行するには、Cluster Operator が実行されている必要があります。Kafka、Kafka Connect、MirrorMaker 2、または ZooKeeper のいずれであっても、更新するコンポーネントのクラスターも実行されている必要があります。
使用されるトピックレプリケーション係数に関係なく、Kafka クラスターでローリング更新を実行できます。ただし、更新中に Kafka を稼働し続けるには、以下が必要になります。
- 更新するノードで実行されている高可用性 Kafka クラスターデプロイメント。
高可用性のためにレプリケートされたトピック。
少なくとも 3 つのレプリケーション係数と、レプリケーション係数よりも 1 つ少ない In-Sync レプリカの最小数を指定するトピック設定。
高可用性のためにレプリケートされた Kafka トピック
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
手順
手動で更新する
Podの名前を見つけます。Pod の命名規則は以下のとおりです。
-
Kafka クラスターの
<cluster_name>-kafka-<index_number> -
ZooKeeper クラスターの
<cluster_name>-zookeeper-<index_number> -
Kafka Connect クラスターの
<cluster_name>-connect-<index_number> -
MirrorMaker 2 クラスターの
<cluster_name>-mirrormaker2-<index_number>
Pod に割り当てられる
<index_number>は 0 から始まり、レプリカの合計数から 1 を引いた値で終わります。-
Kafka クラスターの
oc annotateを使用して、OpenShift でPodリソースにアノテーションを付けます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
次の調整が発生するまで待ちます (デフォルトでは 2 分ごとです)。アノテーションが調整プロセスで検出されれば、アノテーションが付けられた
Podのローリング更新がトリガーされます。Pod のローリング更新が完了すると、アノテーションはPodから自動的に削除されます。