第23章 Streams for Apache Kafka Drain Cleaner を使用した Pod のエビクト


Kafka および ZooKeeper Pod は、OpenShift のアップグレード、メンテナンス、または Pod の再スケジュール中にエビクトされる可能性があります。Kafka および ZooKeeper Pod を Streams for Apache Kafka によってデプロイした場合、Streams for Apache Kafka Drain Cleaner ツールを使用して Pod のエビクションを処理できます。OpenShift の代わりに、Streams for Apache Kafka Drain Cleaner がエビクションを処理します。

Streams for Apache Kafka Drain Cleaner をデプロイすると、OpenShift の代わりに Cluster Operator を使用して Kafka Pod を移動できるようになります。Cluster Operator は、トピックの複製の数が最低数未満とならないようにし、エビクションプロセス中も Kafka が稼働状態を維持できるようにします。Cluster Operator は、OpenShift ワーカーノードが連続してドレイン (解放) されるため、トピックが同期するのを待ちます。

アドミッション Webhook が、Kubernetes API への Pod エビクション要求を Streams for Apache Kafka Drain Cleaner に通知します。次に、Streams for Apache Kafka Drain Cleaner が、ドレインする Pod にローリング更新アノテーションを追加します。このアノテーションにより、ローリング更新を実行する指示が Cluster Operator に通知されます。

注記

Streams for Apache Kafka Drain Cleaner を使用していない場合は、Pod アノテーションを追加して、ローリング更新を手動で実行 できます。

Webhook の設定

Streams for Apache Kafka Drain Cleaner のデプロイメントファイルには、ValidatingWebhookConfiguration リソースファイルが含まれています。リソースでは、Kubernetes API で Webhook を登録する設定が可能です。

この設定は、Pod のエビクション要求の場合に使用する Kubernetes API の ルール を定義します。ルールは、pods/eviction サブリソースに関連する CREATE 操作だけがインターセプトされることを指定します。これらのルールが満たされている場合、API は通知を転送します。

clientConfig は、Streams for Apache Kafka Drain Cleaner サービスと、Webhook を公開する /drainer エンドポイントを参照します。Webhook は、認証を必要とする、セキュアな TLS 接続を使用します。caBundle プロパティーは、HTTPS 通信を検証する証明書チェーンを指定します。証明書は Base64 でエンコードされます。

Pod エビクション通知の Webhook 設定

apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
# ...
webhooks:
  - name: strimzi-drain-cleaner.strimzi.io
    rules:
      - apiGroups:   [""]
        apiVersions: ["v1"]
        operations:  ["CREATE"]
        resources:   ["pods/eviction"]
        scope:       "Namespaced"
    clientConfig:
      service:
        namespace: "strimzi-drain-cleaner"
        name: "strimzi-drain-cleaner"
        path: /drainer
        port: 443
        caBundle: Cg==
    # ...

23.1. Streams for Apache Kafka Drain Cleaner のデプロイメントファイルのダウンロード

Streams for Apache Kafka Drain Cleaner をデプロイして使用するには、デプロイメントファイルをダウンロードする必要があります。

Streams for Apache Kafka Drain Cleaner のデプロイメントファイルは、Streams for Apache Kafka ソフトウェアダウンロードページ から入手できます。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat, Inc.