4.2. Operator デプロイメントのベストプラクティス
特に異なるバージョンを使用する場合など、同じ OpenShift クラスターに複数の AMQ Streams Operator をインストールすると、問題が発生する可能性があります。各 AMQ Streams Operator は、OpenShift クラスター内のリソースのセットを管理します。複数の AMQ Streams オペレーターをインストールすると、同じリソースを同時に管理しようとする場合があります。これにより、クラスター内で競合や予期しない動作が発生する可能性があります。同じ OpenShift クラスター内の異なる名前空間に AMQ Streams Operator をデプロイした場合でも、競合が発生する可能性があります。名前空間はある程度リソースを分離しますが、カスタムリソース定義 (CRD) やロールなど、AMQ Streams Operator によって管理される特定のリソースのスコープはクラスター全体となっています。
さらに、異なるバージョンで複数の Operator をインストールすると、Operator と、管理する Kafka クラスター間の互換性の問題が発生する可能性があります。AMQ Streams Operator の異なるバージョンでは、下位互換性のない変更、バグ修正、または改善が導入される場合があります。
OpenShift クラスターへの複数 AMQ Streams Operator のインストールに関連する問題を回避するには、次のガイドラインに従うことを推奨します。
- AMQ Streams Operator を Kafka クラスターおよび Operator が管理する他の Kafka コンポーネントとは別の名前空間にインストールして、リソースと設定を明確に分離します。
- 1 つの AMQ Streams Operator を使用して、OpenShift クラスター内のすべての Kafka インスタンスを管理します。
- AMQ Streams Operator とサポートされる Kafka バージョンをできるだけ頻繁に更新し、最新の機能と拡張機能を反映します。
これらのベストプラクティスに従い、1 つの AMQ Streams Operator に一貫性を確保して更新することで、OpenShift クラスター内の Kafka インスタンス管理の安定性を向上させることができます。このアプローチにより、AMQ Streams の最新機能を最大限に活用することもできます。
AMQ Streams は Strimzi をベースとしているため、OpenShift クラスターで AMQ Streams Operator と Strimzi Operator を組み合わせる際にも、同じ問題が発生することがあります。