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
を指定します。