pulsar kop在k8s部署实践

1.环境准备

使用pulsar官方helm仓库 https://pulsar.apache.org/charts 部署pulsar集群

2.添加kop插件

Apache官方镜像是不带kop插件的,需要使用streamnative提供的已默认集成kop插件的pulsar镜像(当然也可以在Apache官方镜像基础上添加kop插件自己制作镜像),可以到dockerhub上自行查找所需要的镜像版本,这里我使用的镜像是 streamnative/sn-pulsar:2.9.2.24

3.添加broker kop配置

找到broker的configMap,添加以下配置

  PULSAR_PREFIX_brokerEntryMetadataInterceptors: org.apache.pulsar.common.intercept.AppendIndexMetadataInterceptor
  PULSAR_PREFIX_kafkaListeners: 'PLAINTEXT://0.0.0.0:9092'
  PULSAR_PREFIX_messagingProtocols: kafka
  allowAutoTopicCreationType: partitioned
  brokerDeleteInactiveTopicsEnabled: 'false'

下面还有一步比较关键的配置,需要在broker的有状态副本集中增加环境变量,配置kafka broker对外广播的地址,需要引入k8s当前pod名称的环境变量,如下

          env:
            - name: MY_POD_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name
            - name: PULSAR_PREFIX_kafkaAdvertisedListeners
              value: >-
                PLAINTEXT://$(MY_POD_NAME).pulsar-broker.xxx.svc.cluster.local:19092

当然还要在port下增加kafka的端口,hostPort可以用于k8s外访问

            - name: kafka
              hostPort: 19092
              containerPort: 9092
              protocol: TCP

k8s外访问只需要配置一下本地hosts即可

172.18.100.33 ks-pulsar-broker-0.pulsar-broker.xxx.svc.cluster.local
172.18.100.35 ks-pulsar-broker-1.pulsar-broker.xxx.svc.cluster.local
172.18.100.31 ks-pulsar-broker-2.pulsar-broker.xxx.svc.cluster.local

引用提到,在Kubernetes中访问Pulsar集群的外部地址,需要在本地的hosts文件中进行相应的配置。你可以使用以下命令添加配置信息: ``` 172.18.100.33 ks-pulsar-broker-0.pulsar-broker.xxx.svc.cluster.local 172.18.100.35 ks-pulsar-broker-1.pulsar-broker.xxx.svc.cluster.local 172.18.100.31 ks-pulsar-broker-2.pulsar-broker.xxx.svc.cluster.local ``` 引用中提到,在broker的有状态副本集中需要增加环境变量来配置Kafka Broker对外广播的地址。具体的配置如下: ``` env: - name: MY_POD_NAME valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: PULSAR_PREFIX_kafkaAdvertisedListeners value: "PLAINTEXT://$(MY_POD_NAME).pulsar-broker.xxx.svc.cluster.local:19092" ``` 引用中提到,还需要在broker的configMap中添加一些配置信息。具体的配置如下: ``` PULSAR_PREFIX_brokerEntryMetadataInterceptors: org.apache.pulsar.common.intercept.AppendIndexMetadataInterceptor PULSAR_PREFIX_kafkaListeners: 'PLAINTEXT://0.0.0.0:9092' PULSAR_PREFIX_messagingProtocols: kafka allowAutoTopicCreationType<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [pulsar kopk8s部署实践](https://blog.csdn.net/FizzX1/article/details/126505306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值