k8s 通过kafka operator部署kafka集群
使用的operator是strimzi,官方文档:https://strimzi.io/quickstarts/
1、应用 Strimzi 安装文件,包括 `<Strimzi-install-files>`ClusterRoles和ClusterRoleBindings一些自定义资源定义( CRD)。CRD 定义了用于自定义资源(例如` CRDs<Cafka-container-class>` 等)的模式,这些资源将用于管理 Kafka 集群、主题和用户。
kubectl create -f 'https://strimzi.io/install/latest?namespace=kafka-2' -n kafka-2
2、查看操作员的日志
kubectl logs deployment/strimzi-cluster-operator -n kafka-2 -f
3、创建一个新的 Kafka 自定义资源,以获取 Apache Kafka 集群
vim kafka-single-node.yaml
apiVersion: kafka.strimzi.io/v1 kind: KafkaNodePool metadata: name: kafka namespace: kafka-2 labels: strimzi.io/cluster: mq spec: replicas: 3 roles: - controller - broker storage: type: jbod volumes: - id: 0 type: persistent-claim size: 2000Gi deleteClaim: false kraftMetadata: shared class: gp2 resources: # 资源限制直接在这里定义,不是在template下 requests: cpu: "4000m" memory: "4Gi" limits: cpu: "7500m" memory: "15Gi" template: pod: tolerations: - key: "app" operator: "Equal" value: "statefulset" effect: "NoSchedule" --- apiVersion: kafka.strimzi.io/v1 kind: Kafka metadata: name: mq namespace: kafka-2 spec: kafka: version: 4.1.1 metadataVersion: 4.1-IV1 listeners: - name: plain port: 9092 type: internal tls: false - name: tls port: 9093 type: internal tls: true config: offsets.topic.replication.factor: 3 transaction.state.log.replication.factor: 3 transaction.state.log.min.isr: 2 default.replication.factor: 3 min.insync.replicas: 2 log.retention.hours: 168 log.segment.bytes: 1073741824 entityOperator: topicOperator: {} userOperator: {}
kc apply -f kafka-single-node.yaml
4、查看pod运行状态


浙公网安备 33010602011771号