k8s kubesphere 部署 rocketmq

控制台配置

即可视化界面

kind: Deployment
apiVersion: apps/v1
metadata:
  name: rocketmq-console
  namespace: your-namespace
  labels:
    app: rocketmq-console
  annotations:
    deployment.kubernetes.io/revision: '3'
    kubesphere.io/creator: zhangsan
    kubesphere.io/description: rocketmq可视化服务
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rocketmq-console
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: rocketmq-console
    spec:
      volumes:
        - name: host-time
          hostPath:
            path: /etc/localtime
            type: ''
      containers:
        - name: rocketmq-console
          image: 'styletang/rocketmq-console-ng:1.0.0'
          ports:
            - name: http-8080
              containerPort: 8080
              protocol: TCP
          env:
            - name: JAVA_OPTS
              value: >-
                -Drocketmq.namesrv.addr=host:9876
                -Dcom.rocketmq.sendMessageWithVIPChannel=false
          resources:
            limits:
              cpu: '2'
              memory: 4000Mi
            requests:
              cpu: 10m
              memory: 10Mi
          volumeMounts:
            - name: host-time
              readOnly: true
              mountPath: /etc/localtime
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      serviceAccountName: default
      serviceAccount: default
      securityContext: {}
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

kubesphere配置
在这里插入图片描述

broker节点配置

k8s配置

kind: Deployment
apiVersion: apps/v1
metadata:
  name: rocketmq-broker
  namespace: your-namespace
  labels:
    app: rocketmq-broker
  annotations:
    deployment.kubernetes.io/revision: '7'
    kubesphere.io/alias-name: broker
    kubesphere.io/creator: zhangsan
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rocketmq-broker
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: rocketmq-broker
      annotations:
        logging.kubesphere.io/logsidecar-config: '{}'
    spec:
      volumes:
        - name: host-time
          hostPath:
            path: /etc/localtime
            type: ''
        - name: volume-nude2u
          configMap:
            name: rocket-conf
            items:
              - key: broker.conf
                path: broker.conf
            defaultMode: 420
      containers:
        - name: rocketmq-broker
          image: 'rocketmqinc/rocketmq:4.3.2'
          command:
            - sh
          args:
            - mqbroker
            - '-c'
            - /opt/rocketmq-4.3.2/conf/broker.conf
          ports:
            - name: tcp-10909
              containerPort: 10909
              protocol: TCP
            - name: tcp-10911
              containerPort: 10911
              protocol: TCP
          env:
            - name: NAMESRV_ADDR
              value: 'host:9876'
          resources:
            limits:
              cpu: '2'
              memory: 4000Mi
            requests:
              cpu: 10m
              memory: 10Mi
          volumeMounts:
            - name: host-time
              readOnly: true
              mountPath: /etc/localtime
            - name: volume-nude2u
              readOnly: true
              mountPath: /opt/rocketmq-4.3.2/conf/broker.conf
              subPath: broker.conf
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      serviceAccountName: default
      serviceAccount: default
      securityContext: {}
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

kubesphere界面配置
在这里插入图片描述
在这里插入图片描述

nameserver配置

yaml文件

kind: Deployment
apiVersion: apps/v1
metadata:
  name: rocketmq
  namespace: your-namespace
  labels:
    app: rocketmq
  annotations:
    deployment.kubernetes.io/revision: '4'
    kubesphere.io/alias-name: nameserver
    kubesphere.io/creator: zhangsan
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rocketmq
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: rocketmq
      annotations:
        kubesphere.io/restartedAt: '2023-10-20T03:11:56.869Z'
    spec:
      volumes:
        - name: host-time
          hostPath:
            path: /etc/localtime
            type: ''
      containers:
        - name: rocketmq-nameserver
          image: 'rocketmqinc/rocketmq:4.3.2'
          command:
            - sh
          args:
            - mqnamesrv
          ports:
            - name: tcp-9876
              containerPort: 9876
              protocol: TCP
          resources:
            limits:
              cpu: '2'
              memory: 4000Mi
            requests:
              cpu: 10m
              memory: 10Mi
          volumeMounts:
            - name: host-time
              readOnly: true
              mountPath: /etc/localtime
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      serviceAccountName: default
      serviceAccount: default
      securityContext: {}
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

kubesphere
在这里插入图片描述
创建nameserver服务
在这里插入图片描述
创建console-svc
在这里插入图片描述
完成。访问可视化界面,就是你console-svc的服务地址
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
您好!要在Kubernetes部署RocketMQ,您可以按照以下步骤进行操作: 1. 创建RocketMQ的命名空间: ``` kubectl create namespace rocketmq ``` 2. 部署RocketMQ的Namesrv组件: 创建`namesrv.yaml`文件,并将以下配置添加到文件中: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: rocketmq-namesrv namespace: rocketmq spec: replicas: 1 selector: matchLabels: app: rocketmq-namesrv template: metadata: labels: app: rocketmq-namesrv spec: containers: - name: rocketmq-namesrv image: rocketmqinc/rocketmq:4.8.0 command: ["sh", "-c", "cd /opt/rocketmq/distribution && sh bin/mqnamesrv"] ports: - containerPort: 9876 ``` 使用以下命令创建Namesrv组件的Deployment: ``` kubectl apply -f namesrv.yaml ``` 3. 部署RocketMQ的Broker组件: 创建`broker.yaml`文件,并将以下配置添加到文件中: ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: rocketmq-broker namespace: rocketmq spec: replicas: 2 selector: matchLabels: app: rocketmq-broker template: metadata: labels: app: rocketmq-broker spec: containers: - name: rocketmq-broker image: rocketmqinc/rocketmq:4.8.0 command: ["sh", "-c", "cd /opt/rocketmq/distribution && sh bin/mqbroker -n namesrv:9876"] ports: - containerPort: 10911 - containerPort: 10909 ``` 使用以下命令创建Broker组件的Deployment: ``` kubectl apply -f broker.yaml ``` 4. 验证RocketMQ部署是否成功: 使用以下命令检查Pod的状态: ``` kubectl get pods -n rocketmq ``` 如果所有的Pod都处于"Running"状态,则RocketMQ部署成功。 请注意,上述步骤仅提供了基本的部署配置。根据您的具体需求,您可能需要进一步配置RocketMQ的参数和持久化存储等。另外,为了确保数据的可靠性和高可用性,建议您配置RocketMQ的数据备份和故障恢复机制。 希望以上信息能对您有所帮助!如果您有任何其他问题,请随时提问。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值