7.k8s部署rocketmq

7.k8s部署rocketmq

一.编写资源清单

01-deploy-rocketmq.yaml

root@master231:/opt/pods/09-rocketmq# cat 01-deploy-rocketmq.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: deploy-rocketmq
spec:
  replicas: 1
  selector:
    matchLabels:
      apps: rocketmq
  template:
    metadata:
      labels:
        apps: rocketmq
    spec:
      containers:
      # 容器1:RocketMQ NameServer 注册中心
      - name: rocketmq-namesrv
        image: harbor.wuflstu.com/middleware/rocketmq:5.3.3
        ports:
        - containerPort: 9876
        command: ["/bin/bash"]
        args: ["mqnamesrv"]
        env:
        - name: JAVA_OPT_EXT
          value: "-Xms512M -Xmx512M -Xmn128M"

      # 容器2:RocketMQ Broker  消息中心
      - name: rocketmq-broker
        image: harbor.wuflstu.com/middleware/rocketmq:5.3.3
        ports:
        - containerPort: 10909 #VIP端口
        - containerPort: 10911 #主通信端口
        - containerPort: 10912 #主从同步端口
        command: ["/bin/bash"]
        args: ["mqbroker", "-n", "127.0.0.1:9876"] #启动 Broker 并注册到 NameServer
        env:
        - name: JAVA_OPT_EXT  #JVM内存
          value: "-server -Xms512M -Xmx512M"
        - name: NAMESRV_ADDR #告诉Broker 注册中心地址
          value: "127.0.0.1:9876"

      # 容器3:RocketMQ 控制台
      - name: rocketmq-webui
        image: harbor.wuflstu.com/middleware/rocketmq-dashboard:2.0.1
        ports:
        - containerPort: 8080 
          name: web
        env:
        - name: JAVA_OPTS
          value: "-Drocketmq.namesrv.addr=127.0.0.1:9876"

02-svc-rocketmq.yaml

root@master231:/opt/pods/09-rocketmq# cat 02-svc-rocketmq.yaml 
apiVersion: v1
kind: Service
metadata:
  name: svc-rocketmq
spec:
  type: NodePort
  ports:
  - port: 8080
    targetPort: 8080
    nodePort: 30881  # WebUI 访问端口
  selector:
    apps: rocketmq

二.部署服务

root@master231:/opt/pods/09-rocketmq# ll
total 16
drwxr-xr-x  2 root root 4096 Apr 15 17:00 ./
drwxr-xr-x 13 root root 4096 Apr 15 17:02 ../
-rw-r--r--  1 root root 1483 Apr 15 17:00 01-deploy-rocketmq.yaml
-rw-r--r--  1 root root  201 Apr 15 17:00 02-svc-rocketmq.yaml

服务启动
root@master231:/opt/pods/09-rocketmq# kubectl apply -f .
deployment.apps/deploy-rocketmq created
service/svc-rocketmq created

查看服务
root@master231:/opt/pods/09-rocketmq# kubectl get pods -o wide -l apps=rocketmq
NAME                               READY   STATUS    RESTARTS   AGE     IP            NODE        NOMINATED NODE   READINESS GATES
deploy-rocketmq-64df44c576-5bbcj   3/3     Running   0          3m18s   10.100.1.44   worker232   <none>           <none>
root@master231:/opt/pods/09-rocketmq# kubectl get svc svc-rocketmq
NAME           TYPE       CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
svc-rocketmq   NodePort   10.200.215.147   <none>        8080:30881/TCP   3m32s

访问页面rocketmq-ui

10.0.0.232:30881

image-20260415171238447

切换语言

image-20260415171311808

posted @ 2026-05-02 11:44  大力哥2026  阅读(5)  评论(0)    收藏  举报