本文主要是介绍K8S Helm安装RocketMQ standalone单机版,配置外网地址注册到nameserver中方便本地开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
K8S Helm安装RocketMQ standalone单机版,配置外网地址注册到nameserver中方便本地开发
helm地址
rocketmq 3.0.2 · sir5kong/rocketmq
helm repo add rocketmq https://helm-charts.itboon.top/rocketmq
helm pull rocketmq/rocketmq
tar -xvf rocketmq-3.0.2.tgz
修改配置
修改这个无效
/root/rocketmq/rocketmq/templates/borker/configmap.yaml
文件头有注释 {{/* 3.0 废弃 */}}
修改外网配置namesrvAddr、brokerIP1、listenPort
vi /root/rocketmq/rocketmq/templates/configmap.yaml
data:broker-base.conf: |brokerClusterName = {{ .Values.clusterName }}
{{- range $key, $value := .Values.broker.config }}{{ $key }} = {{ $value }}
{{- end }}namesrvAddr=你的外网地址加端口:3xxxxbrokerIP1=你的外网地址listenPort=30911 将10911改成30911,k8s对外端口30000以上此时如此优秀的RocketMQ也会把你的10909和10912也会改成3打头的 30909(VIP) 30912(HA)
参考:RcoketMQ连接时报错sendDefaultImpl call timeout解决_rcoketmq send call timeout-CSDN博客
配置文件中的配置项:RocketMQ配置解析:手把手教老婆看懂broker.properties-CSDN博客
修改Borker中的端口
vi /root/rocketmq/rocketmq/templates/broker/statefulset.yaml
全换成3打头的
ports:- containerPort: 30909name: vipprotocol: TCP- containerPort: 30911name: mainprotocol: TCP- containerPort: 30912name: haprotocol: TCP
创建broker的service方便外网访问borker
vi broker-svc.yamlapiVersion: v1
kind: Service
metadata:name: rocketmq-standalone-broker-master-svc-0labels:
spec:type: NodePortports:- name: vipnodePort: 30909port: 30909targetPort: 30909protocol: TCP- name: mainnodePort: 30911port: 30911targetPort: 30911protocol: TCP- name: hanodePort: 30912port: 30912targetPort: 30912protocol: TCPselector:app.kubernetes.io/name: rocketmqbroker: rocketmq-standalone-broker-mastercomponent: brokerstatefulset.kubernetes.io/pod-name: rocketmq-standalone-broker-master-0
kubectl apply -f broker-svc.yaml -n develop
修改/root/rocketmq/rocketmq/templates模板目录中nameservice和dashboard子目录中的service.yaml修改为NodePort并指定端口
spec:type: NodePortports:nodePort: 3xxxx
安装rocketmq-standalone
helm install rocketmq-standalone /root/rocketmq/rocketmq \--namespace develop \--set image.tag="5.1.4" \ #使用新版本--set image.repository="apache/rocketmq" \ #或者你的私有仓库--set broker.persistence.storageClass="你的storageClass" --debug
反复检查
kubectl logs -f rocketmq-standalone-broker-master-0 -n develop
kubectl describe pod rocketmq-standalone-broker-master-0 -n develop
观察探针 readinessProbe
kubectl get pods -n develop -owide |grep rocket
kubectl get svc -n develop |grep rocket
rocketmq-standalone-broker-master-svc-0 NodePort 30909:30909/TCP,30911:30911/TCP,30912:30912/TCP
去dashboard中去看看是否正常
出错了卸载
helm uninstall rocketmq-standalone -n develop
创建个springboot工程访问试试
参考:SpringBoot集成RocketMQ(完整demo)_用springboot写一个简单使用rocketmq的demo-CSDN博客
上dashboard中的创建topic mq_test_topic
http://localhost:8080/test?msg=hello
在本地Git shell窗口里跑100个请求试试
for i in {1..100}; do curl http://localhost:8080/test?msg=hello && echo ""; done
去dashboard中去看看
这篇关于K8S Helm安装RocketMQ standalone单机版,配置外网地址注册到nameserver中方便本地开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!