2.4. クラスターの作成
AMQ Streams がインストールされている状態で、Kafka クラスターを作成し、クラスター内でトピックを作成します。
クラスターの作成時に、AMQ Streams のインストール時にデプロイされた Cluster Operator によって新規の Kafka リソースが監視されます。
前提条件
- Kafka クラスターでは、Cluster Operator がデプロイされている必要があります。
- トピックでは、Kafka クラスターが稼働中である必要があります。
手順
ユーザー
developer
としてmy-kafka-project
namespace にログインします。以下に例を示します。
oc login -u developer oc project my-kafka-project
新規ユーザーが OpenShift Container Platform にログインした後に、そのユーザーのアカウントが作成されます。
3 つの Zookeeper ノードと 3 つのブローカーノードで、新しい
my-cluster
Kafka クラスターを作成します。-
ephemeral
ストレージを使用します。 route
を使用するよう設定された外部リスナーを使用して、OpenShift クラスター外部の Kafka クラスターを公開します。cat << EOF | oc create -f - apiVersion: kafka.strimzi.io/v1beta2 kind: Kafka metadata: name: my-cluster spec: kafka: replicas: 3 listeners: - name: plain port: 9092 type: internal tls: false - name: tls port: 9093 type: internal tls: true - name: external port: 9094 type: route 1 tls: true storage: type: ephemeral zookeeper: replicas: 3 storage: type: ephemeral entityOperator: topicOperator: {} EOF
-
クラスターがデプロイされるまで待機します。
oc wait my-kafka-project/my-cluster --for=condition=Ready --timeout=300s -n kafka
クラスターの準備ができたら、パブリッシュするトピックを作成し、外部クライアントからサブスクライブします。
my-cluster
Kafka クラスターで 3 つのレプリカと 3 つのパーティションを使用して、以下のmy-topic
カスタムリソース定義を作成します。cat << EOF | oc create -f - apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaTopic metadata: name: my-topic labels: strimzi.io/cluster: "my-cluster" spec: partitions: 3 replicas: 3 EOF