13.3.3. AMQ Streams の Drain クリーニングの使用
Cluster Operator と組み合わせて AMQ Streams の Drain Cleaner を使用し、ドレイン(解放)されたノードから Kafka ブローカーまたは ZooKeeper Pod を移動します。AMQ Streams Drain Cleaner を実行すると、Pod にローリングアップデート Pod アノテーションが付けられます。Cluster Operator はアノテーションに基づいてローリングアップデートを実行します。
手順
Kafka ブローカーまたは ZooKeeper Pod をホストする指定された OpenShift ノードをドレイン(解放)します。
oc get nodes oc drain <name-of-node> --delete-emptydir-data --ignore-daemonsets --timeout=6000s --forceAMQ Streams Drain Cleaner ログでエビクションイベントを確認し、Pod に再起動のアノテーションが付けられていることを確認します。
AMQ Streams Drain Cleaner ログが Pod のアノテーションを表示する
INFO ... Received eviction webhook for Pod my-cluster-zookeeper-2 in namespace my-project INFO ... Pod my-cluster-zookeeper-2 in namespace my-project will be annotated for restart INFO ... Pod my-cluster-zookeeper-2 in namespace my-project found and annotated for restart INFO ... Received eviction webhook for Pod my-cluster-kafka-0 in namespace my-project INFO ... Pod my-cluster-kafka-0 in namespace my-project will be annotated for restart INFO ... Pod my-cluster-kafka-0 in namespace my-project found and annotated for restartCluster Operator ログで調整イベントを確認し、ローリングアップデートを確認します。
Cluster Operator ログにローリングアップデートが表示される
INFO PodOperator:68 - Reconciliation #13(timer) Kafka(my-project/my-cluster): Rolling Pod my-cluster-zookeeper-2 INFO PodOperator:68 - Reconciliation #13(timer) Kafka(my-project/my-cluster): Rolling Pod my-cluster-kafka-0 INFO AbstractOperator:500 - Reconciliation #13(timer) Kafka(my-project/my-cluster): reconciled