25.4. 最小限のダウンタイムでの OpenShift のアップグレード


OpenShift をアップグレードする場合は、OpenShift アップグレードのドキュメントを参照して、アップグレードパスとノードを正しくアップグレードする手順を確認してください。OpenShift をアップグレードする前に、Streams for Apache Kafka のバージョンでサポートされているバージョン を確認してください。

アップグレードを実行するときは、次の手順に従って Kafka クラスターの可用性を確認してください。

  1. Pod の Disruption Budget を設定します。
  2. 次のいずれかの方法を使用して Pod をロールします。

    1. Streams for Apache Kafka Drain Cleaner を使用する (推奨)
    2. Pod にアノテーションを適用して手動で Pod をロールする

Kafka を稼働し続けるには、高可用性のためにトピックも複製する必要があります。これには、少なくとも 3 つのレプリケーション係数と、レプリケーション係数よりも 1 つ少ない In-Sync レプリカの最小数を指定するトピック設定が必要です。

高可用性のためにレプリケートされた Kafka トピック

apiVersion: kafka.strimzi.io/v1beta2
kind: KafkaTopic
metadata:
  name: my-topic
  labels:
    strimzi.io/cluster: my-cluster
spec:
  partitions: 1
  replicas: 3
  config:
    # ...
    min.insync.replicas: 2
    # ...

高可用性環境では、Cluster Operator はアップグレードプロセス時にトピックの In-Sync レプリカの最小数を維持し、ダウンタイムが発生しないようにします。

25.4.1. Drain Cleaner を使用した Pod のローリング

Streams for Apache Kafka Drain Cleaner を使用して OpenShift のアップグレード中にノードを削除する場合、手動のローリング更新アノテーションを使用して Pod にアノテーションを付け、削除する必要がある Pod のローリング更新を実行し、アップグレード中の OpenShift ノードから移動するように Cluster Operator に通知します。

詳細は、23章Streams for Apache Kafka Drain Cleaner を使用した Pod のエビクト を参照してください。

25.4.2. Pod の手動によるローリング(Drain Cleaner の代わり)

Drain Cleaner を使用して Pod をロールする代わりに、Cluster Operator を通じて Pod の手動ローリング更新をトリガーできます。Pod リソースを使用して、ローリング更新は新規 Pod でリソースの Pod を再起動します。トピックを利用可能な状態に保つことで Drain Cleaner の操作を複製するには、Pod Disruption Budget の maxUnavailable 値を 0 に設定する必要もあります。Pod の Disruption Budget をゼロに減らすと、OpenShift が Pod を自動的にエビクトできなくなります。

Pod の Disruption Budget の指定

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
  namespace: myproject
spec:
  kafka:
    # ...
    template:
      podDisruptionBudget:
        maxUnavailable: 0
# ...

ドレイン (解放) する必要のある Pod を監視する必要があります。次に Pod アノテーションを追加して更新を行います。

ここで、アノテーションは my-cluster-pool-a-1 という名前の Kafka Pod を更新します。

Kafka Pod での手動ローリング更新の実行

oc annotate pod my-cluster-pool-a-1 strimzi.io/manual-rolling-update="true"

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.