2.4. 创建集群

安装 AMQ Streams 时,您可以创建一个 Kafka 集群,然后在集群中创建一个主题。

在创建集群时,您在安装 AMQ Streams 时部署的 Cluster Operator 会监视是否有新的 Kafka 资源。

先决条件

  • 对于 Kafka 集群,确保部署了 Cluster Operator。
  • 对于该主题,您必须有一个正在运行的 Kafka 集群。

流程

  1. developer 用户身份登录 my-kafka-project 命名空间。

    例如:

    oc login -u developer
    oc project my-kafka-project

    新用户登录 OpenShift 容器平台后,会为该用户创建一个帐户。

  2. 创建带有 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
  3. 等待集群部署:

    oc wait my-kafka-project/my-cluster --for=condition=Ready --timeout=300s -n kafka
  4. 集群就绪后,创建一个主题以从外部客户端发布和订阅。

    创建以下 my-topic 自定义资源定义,在 my-cluster Kafka 集群中使用 3 个副本和 3 个分区:

    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