7.2. 安定フィーチャーゲート (Beta)
安定フィーチャーゲートは Beta レベルの成熟度に達しており、通常はすべてのユーザーに対してデフォルトで有効になっています。安定フィーチャーゲートは実稼働環境に対応していますが、無効にすることもできます。
7.2.1. UseKRaft フィーチャーゲート リンクのコピーリンクがクリップボードにコピーされました!
UseKRaft フィーチャーゲートのデフォルト状態は enabled です。
UseKRaft フィーチャーゲートは、ZooKeeper なしで KRaft (Kafka Raft メタデータ) モードで Kafka クラスターをデプロイします。ZooKeeper と KRaft は、Kafka クラスター内のメタデータを管理し、操作を調整するために使用されるメカニズムです。KRaft モードでは、ZooKeeper などの外部調整サービスが必要なくなります。KRaft モードでは、Kafka ノードはブローカー、コントローラー、またはその両方のロールを引き受けます。これらは、パーティション間でレプリケートされるメタデータを集合的に管理します。コントローラーは、操作を調整し、クラスターの状態を維持する責任があります。
UseKRaft フィーチャーゲートを使用するには、KafkaNodePools フィーチャーゲートも有効にする必要があります。Kafka クラスターを KRaft モードでデプロイするには、KafkaNodePool リソースを使用する必要があります。詳細と例は、「ノードプールを使用した Kafka クラスターのデプロイ」 を参照してください。KRaft モードを使用する Kafka カスタムリソースには、アノテーション strimzi.io/kraft="enabled" も必要です。
現在、Streams for Apache Kafka の KRaft モードには、次の主要な制限があります。
-
KRaft モードでは Unidirectional Topic Operator のみがサポートされます。Bidirectional Topic Operator はサポートされていないため、
UnidirectionTopicOperatorフィーチャーゲートが無効になっている場合は、spec.entityOperator.topicOperatorプロパティーをKafkaカスタムリソースから 削除する必要があります。 -
JBOD ストレージはサポートされていません。
type: jbodストレージを使用できますが、JBOD アレイに含めることができるディスクは 1 つだけです。 - KRaft コントローラー専用ノードのスケールアップまたはスケールダウンはサポートされていません。
- Kafka クラスターから削除された Kafka ノードの登録解除。
UseKRaft フィーチャーゲートの無効化
UseKRaft フィーチャーゲートを無効にするには、Cluster Operator 設定の STRIMZI_FEATURE_GATES 環境変数に -UseKRaft を指定します。
7.2.2. KafkaNodePools フィーチャーゲート リンクのコピーリンクがクリップボードにコピーされました!
KafkaNodePools フィーチャーゲートのデフォルト状態は enabled です。
KafkaNodePools フィーチャーゲートでは、Apache Kafka ノードのさまざまな プール の設定を可能にする新しい KafkaNodePool カスタムリソースが導入されています。
ノードプールは、Kafka クラスター内の Kafka ノードの個別のグループを指します。各プールには独自の固有の設定があり、これにはレプリカの数、ストレージ設定、割り当てられたロールのリストなどの必須設定が含まれます。.spec.roles フィールドで、コントローラー ロール、ブローカー ロール、または両方のロールをプール内のすべてのノードに割り当てることができます。ZooKeeper ベースの Apache Kafka クラスターで使用する場合は、broker ロールに設定する必要があります。UseKRaft フィーチャーゲートと一緒に使用する場合は、Broker、Controller、またはその両方に設定できます。
さらに、ノードプールは、リソースのリクエストと制限、Java JVM オプション、およびリソーステンプレートの独自の設定を持つことができます。KafkaNodePool リソースに設定されていない設定オプションは、Kafka カスタムリソースから継承されます。
KafkaNodePool リソースは、strimzi.io/cluster ラベルを使用して、どの Kafka クラスターに属しているかを示します。ラベルは、Kafka カスタムリソースの名前に設定する必要があります。
KafkaNodePool リソースの例は、Streams for Apache Kafka に付属の サンプル設定ファイル にあります。
KafkaNodePools フィーチャーゲートの無効化
KafkaNodePools フィーチャーゲートを無効にするには、Cluster Operator 設定の STRIMZI_FEATURE_GATES 環境変数に -KafkaNodePools を指定します。ノードプールを使用する Kafka カスタムリソースには、strimzi.io/node-pools: Enabled アノテーションも必要です。
KafkaNodePools からのダウングレード
クラスターがすでに KafkaNodePool カスタムリソースを使用していて、それをサポートしていない、または KafkaNodePools フィーチャーゲートが無効な古いバージョンの Streams for Apache Kafka にダウングレードする場合は、まず KafkaNodePool カスタムリソースから、Kafka カスタムリソースのみを使用した Kafka ノード管理に移行する必要があります。
7.2.3. UnidirectionalTopicOperator フィーチャーゲート リンクのコピーリンクがクリップボードにコピーされました!
UnidirectionalTopicOperator フィーチャーゲートのデフォルト状態は enabled になっています。
UnidirectionalTopicOperator フィーチャーゲートは、KafkaTopic リソースを使用して Kafka トピックを作成するための単方向トピック管理モードを導入します。一方向モードは、クラスター管理での KRaft の使用と互換性があります。一方向モードでは、KafkaTopic リソースを使用して Kafka トピックを作成し、Topic Operator によって管理されます。KafkaTopic リソース外のトピックに対する設定変更はすべて元に戻されます。トピック管理の詳細は、「トピック管理モード」 を参照してください。
UnidirectionalTopicOperator フィーチャーゲートの無効化
UnidirectionalTopicOperator フィーチャーゲートを無効にするには、Cluster Operator 設定の STRIMZI_FEATURE_GATES 環境変数に -UnidirectionalTopicOperator を指定します。