• 配置文件
cat <<END >broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
brokerId = 0
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
END 
  • 创建
kubectl -n zhihui-hr create configmap broker-conf --from-file=./broker-conf

在这里插入图片描述

  • 先部署rocketmqname
cat <<END> rocketmq-ns.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rocketmq-ns
  namespace: zhihui-hr
  labels:
    app: rocketmq-ns
spec:
  replicas: 1
  revisionHistoryLimit: 5
  selector:
    matchLabels:
      app: rocketmq-ns
  template:
    metadata:
     labels:
      app: rocketmq-ns
    spec:
      containers:
      - name: rocketmq-nameserver
        image: foxiswho/rocketmq:4.8.0 
        #image: apacherocketmq/rocketmq:latest
        command: ["sh","mqnamesrv"]
        imagePullPolicy: IfNotPresent
        env:
          - name: JAVA_OPT_EXT
            value: '-Xmx4096m -Xms960m -Xmn1048m'
        resources:
          requests:
            cpu: 1000m
            memory: 512Mi
          limits:
            cpu: 6000m
            memory: 4024Mi
        ports:
          - containerPort: 9876
        volumeMounts:
          - mountPath: /home/rocketmq/logs
            name: namesrvlogs
          - mountPath: /etc/localtime
            name: timezone
            readOnly: true
      volumes:
      - name: namesrvlogs
        emptyDir: {}
      - name: namesrvstore 
        emptyDir: {}
      - name: timezone
        hostPath:
          path: /etc/localtime

---
apiVersion: v1
kind: Service
metadata:
  name: rocketmq-ns
  namespace: zhihui-hr
spec:
  clusterIP: None
  ports:
    - port: 9876
      targetPort: 9876
  selector:
    app: rocketmq-ns
---
apiVersion: v1
kind: Service
metadata:
  name: rocketmq-no
  namespace: zhihui-hr
spec:
  type: NodePort
  ports:
    - port: 9876
      targetPort: 9876
      nodePort: 31211
  selector:
    app: rocketmq-ns
END
  • 再部署 broker,本次使用的是云提供的csi动态存储
cat <<END>broker.yaml
apiVersion: apps/v1   
kind: Deployment
metadata:
  name: rocketmq-broker
  namespace: zhihui-hr
  labels:
    app: rocketmq-broker  
spec:
  replicas: 1
  revisionHistoryLimit: 5
  selector:
    matchLabels:
      app: rocketmq-broker
  template:
    metadata:
     labels:
      app: rocketmq-broker
    spec:
      containers:
      - name: rocketmq-broker
        image: foxiswho/rocketmq:4.8.0 
        #image: apacherocketmq/rocketmq:latest
        command: ["sh","mqbroker", "-n","rocketmq-ns:9876","-c","/home/rocketmq/conf/broker.conf"]
        imagePullPolicy: IfNotPresent
        env:
          - name: JAVA_OPT_EXT
            value: '-Xmx4096m -Xms960m -Xmn1048m'
        resources:
          requests:
            memory: 2024Mi
            cpu: 1024m
          limits:
            memory: 6024Mi
            cpu: 6000m
        securityContext:
          privileged: true
          runAsUser: 0
        ports:
          - containerPort: 10909
          - containerPort: 10911
        volumeMounts:
          - mountPath: /home/rocketmq/logs
            name: brokerlogs
          - mountPath: /home/rocketmq/store
            name: brokerstore
          - mountPath: /etc/localtime
            name: timezone
          - mountPath: /home/rocketmq/conf
            name: conf
      volumes:
      - name: brokerlogs
        emptyDir: {}
      - name: brokerstore
        #emptyDir: {}
        persistentVolumeClaim:
          claimName: oss    
      - name: timezone
        hostPath:
          path: /usr/share/zoneinfo/Asia/Shanghai
      - name: conf
        configMap:
          name: broker-conf
 END
  • 最后创建 控制台
cat <<END> web-rocketmq.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  name: web-ns
  namespace: zhihui-hr
  labels:
    app: web-ns
spec:
  replicas: 1
  revisionHistoryLimit: 5
  selector:
    matchLabels:
      app: web-ns
  template:
    metadata:
     labels:
      app: web-ns
    spec:
      containers:
      - name: web-nameserver
        image: apacherocketmq/rocketmq-console:2.0.0
        imagePullPolicy: IfNotPresent
        env:
          - name: JAVA_OPTS
            value: '-Drocketmq.namesrv.addr=rocketmq-ns:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false'
        resources:
          requests:
            cpu: 1000m
            memory: 512Mi
          limits:
            cpu: 6000m
            memory: 4024Mi
        ports:
          - containerPort: 8080
        volumeMounts:
          - mountPath: /etc/localtime
            name: timezone
            readOnly: true
      volumes:
      - name: timezone
        hostPath:
          path: /etc/localtime
---
apiVersion: v1
kind: Service
metadata:
  name: web-ns
  namespace: zhihui-hr
spec:
  type: NodePort
  ports:
    - port: 8080
      targetPort: 8080
      nodePort: 31330
  selector:
    app: web-ns
END

在这里插入图片描述
在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐