docker-compose、k8s部署rabbitmq

docker官网地址

一、docker-compose部署rabbitmq
version: '3.1'

services:
  rabbitmq:
    image: rabbitmq:3.8.8-management
    restart: always
    hostname: rabbitmq-hostname 
    container_name: rabbitmq
    ports:
      - 4369:4369
      - 5672:5672
      - 15672:15672
    volumes:
      - ./rabbitmq_data:/var/lib/rabbitmq
    environment:
      TIME_ZONE: Asia/Shanghai
      RABBITMQ_ERLANG_COOKIE: sinoeyes
      RABBITMQ_NODENAME: nodename
      RABBITMQ_DEFAULT_USER: paas
      RABBITMQ_DEFAULT_PASS: "123456"
      RABBITMQ_DEFAULT_VHOST: uat2_paas

1.推荐为docker容器设置hostname,因为rabbitmq默认使用hostname作为存储数据的节点名,设置hostname可以避免生成随机的节点名,方便追踪数据。RABBITMQ_NODENAME 默认值是: rabbit。
如下图所示
在这里插入图片描述
2. RABBITMQ_DEFAULT_USER 和 RABBITMQ_DEFAULT_PASS 用来设置超级管理员的账号和密码,如果不设置,默认都是 guest

3.docker镜像使用像这样 rabbitmq:3.8.3-management 带有后缀 -management的镜像,之前使用没带这个后缀的镜像,网页访问失败。**

二、k8s部署rabbitmq

1、rabbitmq-service.yml

apiVersion: v1
kind: Service
metadata:
    name: rabbitmq
    labels:
        app: rabbitmq
    namespace: paas-basic
spec:
    selector:
        app: rabbitmq-pod
    type: NodePort
    ports:
    - name: erlang-discovery
      port: 4369
      targetPort: 4369
      protocol: TCP
    - name: client-communicate
      port: 5672
      targetPort: 5672
      nodePort: 32765
      protocol: TCP
    - name: management-http
      port: 15672
      targetPort: 15672
      nodePort: 32766
      protocol: TCP
    - name: server-communicate
      port: 25672
      targetPort: 25672
      protocol: TCP

2、rabbitmq-deployment.yml

apiVersion: apps/v1
kind: Deployment
metadata:
    name: rabbitmq-deploy
    namespace: paas-basic
    labels:
        name: rabbitmq-deploy-label
spec:
    replicas: 1
    minReadySeconds: 60 # 容器启动创建X秒后服务可用
    strategy:
        type: RollingUpdate
        rollingUpdate:
            maxSurge: 2
            maxUnavailable: 0
    selector:
      matchLabels:
        app: rabbitmq-pod
    template:
        metadata:
            labels:
                app: rabbitmq-pod
        spec:
            terminationGracePeriodSeconds: 30  #k8s正确、优雅地关闭应用,等待时间30秒
            nodeSelector:
              rabbitmq: "true"
            hostname: rabbitmq-hostname         #设置pod的hostaname,rabbitmq的数据文件会根据hosotname自动生成
            containers:
            - name: rabbitmq-container
              image: rabbitmq:3.8.8-management
              imagePullPolicy: IfNotPresent
              ports:
              - containerPort: 4369
              - containerPort: 5672
              - containerPort: 15672
              - containerPort: 25672
              volumeMounts:
              - name: rabbitmq-volume
                mountPath: /var/lib/rabbitmq
              env:
              - name: RABBITMQ_ERLANG_COOKIE
                value: sinoeyes
              - name: RABBITMQ_DEFAULT_USER
                value: paas
              - name: RABBITMQ_DEFAULT_PASS
                value: "123456"
              - name: RABBITMQ_DEFAULT_VHOST
                value: uat2_paas
            volumes:
            - name: rabbitmq-volume
              hostPath:
                path: /home/k8s-1.19.2/paas-basic/rabbitmq/volume

官方参考文档
1.1.1 添加虚拟机
rabbitmqctl add_vhost vhost_one
1.1.2 删除虚拟机
rabbitmqctl delete_vhost vhost_one
1.1.3 查看虚拟机列表
rabbitmqctl list_vhosts
(1) 新增一个用户
rabbitmqctl add_user Username Password
(2) 删除一个用户
rabbitmqctl delete_user Username
(3) 修改用户的密码
rabbitmqctl change_password Username Newpassword
(4) 查看当前用户列表
rabbitmqctl list_users

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值