docker安装rabbitmq

docker run -d  --name rabbitmq  -v /usr/src/rabbitmq/data:/var/lib/rabbitmq -p 5672:5672 -p 15672:15672 --restart=always  rabbitmq

进入容器内部
docker exec -it rabbitmq /bin/bash
执行rabbitmq-plugins enable rabbitmq_management



在这里插入图片描述

然后通过ip:15672访问
rabbitmq初始用户名和密码为guest
在这里插入图片描述
k8s 单机部署

---
kind: Deployment
apiVersion: apps/v1
metadata:
  name: rabbitmq
  namespace: kube-public
  labels:
    k8s.kuboard.cn/name: rabbitmq
  annotations:
    k8s.kuboard.cn/displayName: rabbitmq
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s.kuboard.cn/layer: db
      k8s.kuboard.cn/name: rabbitmq
  template:
    metadata:
      creationTimestamp: null
      labels:
        k8s.kuboard.cn/layer: db
        k8s.kuboard.cn/name: rabbitmq
    spec:
      volumes:
        - name: volume-xs5eh
          configMap:
            name: rmq-cluster-config
            items:
              - key: enabled_plugins
                path: enabled_plugins
              - key: rabbitmq.conf
                path: rabbitmq.conf
            defaultMode: 420
      containers:
        - name: rabbitmq
          image: 'rabbitmq:latest'
          env:
            - name: RABBITMQ_DEFAULT_USER
              valueFrom:
                secretKeyRef:
                  name: rmq-cluster-secret
                  key: username
            - name: RABBITMQ_DEFAULT_PASS
              valueFrom:
                secretKeyRef:
                  name: rmq-cluster-secret
                  key: password
            - name: RABBITMQ_ERLANG_COOKIE
              valueFrom:
                secretKeyRef:
                  name: rmq-cluster-secret
                  key: cookie
            - name: K8S_SERVICE_NAME
              value: rabbitmq
            - name: POD_IP
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: status.podIP
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.name
            - name: POD_NAMESPACE
              valueFrom:
                fieldRef:
                  apiVersion: v1
                  fieldPath: metadata.namespace
            - name: RABBITMQ_USE_LONGNAME
              value: 'true'
            - name: RABBITMQ_CONFIG_FILE
              value: /var/lib/rabbitmq/rabbitmq.conf
          resources: {}
          volumeMounts:
            - name: volume-xs5eh
              mountPath: /etc/rabbitmq
          terminationMessagePath: /dev/termination-log
          terminationMessagePolicy: File
          imagePullPolicy: IfNotPresent
      restartPolicy: Always
      terminationGracePeriodSeconds: 30
      dnsPolicy: ClusterFirst
      securityContext: {}
      schedulerName: default-scheduler
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 25%
      maxSurge: 25%
  revisionHistoryLimit: 10
  progressDeadlineSeconds: 600

---
kind: Service
apiVersion: v1
metadata:
  name: rabbitmq
  namespace: kube-public
  labels:
    k8s.kuboard.cn/name: rabbitmq
spec:
  ports:
    - name: arzfxk
      protocol: TCP
      port: 15672
      targetPort: 15672
      nodePort: 30672
    - name: dwffpr
      protocol: TCP
      port: 1883
      targetPort: 1883
      nodePort: 31883
    - name: 3yksay
      protocol: TCP
      port: 5672
      targetPort: 5672
      nodePort: 31672
  selector:
    k8s.kuboard.cn/layer: db
    k8s.kuboard.cn/name: rabbitmq
  type: NodePort
  sessionAffinity: None
  externalTrafficPolicy: Cluster

---
kind: ConfigMap
apiVersion: v1
metadata:
  name: rmq-cluster-config
  namespace: kube-public
  labels:
    addonmanager.kubernetes.io/mode: Reconcile
data:
  enabled_plugins: >
    [rabbitmq_management,rabbitmq_peer_discovery_k8s,rabbitmq_mqtt,rabbitmq_web_mqtt].
  rabbitmq.conf: >
    loopback_users.guest = false


    ## Clustering

    cluster_formation.peer_discovery_backend = rabbit_peer_discovery_k8s

    cluster_formation.k8s.host = kubernetes.default.svc.cluster.local

    cluster_formation.k8s.address_type = hostname

    #################################################

    # default is rabbitmq-cluster's namespace#

    #################################################

    cluster_formation.k8s.hostname_suffix =
    .rmq-cluster.default.svc.cluster.local

    cluster_formation.node_cleanup.interval = 10

    cluster_formation.node_cleanup.only_log_warning = true

    cluster_partition_handling = autoheal

    ## queue master locator

    queue_master_locator=min-masters

---
apiVersion: v1
kind: Secret
metadata:
  name: rmq-cluster-secret
  namespace: kube-public
stringData:
  cookie: ERLANG_COOKIE
  username: admin
  password: admin123
type: Opaque


Logo

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

更多推荐