Skip to content

Configure RabbitMQ to use my own PVC #1976

@chadleywilson

Description

@chadleywilson

Is your feature request related to a problem? Please describe.

Seems that RabbitMQCluster Operator simply ignores any existing PVC and tries to create its own.

I have attempted several variations of the yaml file to get this working

apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
  labels:
    app: rabbitmq
  name: rabbitm
  namespace: mynamepsace
spec:
  replicas: 1
  image: rabbitmq:latest
  service:
    type: ClusterIP
  persistence:
    existingClaim: pvclaim-winrabbitmq
  resources:
    requests:
      cpu: 256m
      memory: 1Gi
    limits:
      cpu: 256m
      memory: 1Gi
  rabbitmq:
    additionalPlugins:
      - rabbitmq_management
      - rabbitmq_peer_discovery_k8s
    additionalConfig: |
      default_user = admin
      default_pass = adminpassword
    advancedConfig: ""

This is default persistence bit.

  persistence:
    storageClassName: ""
    storage: 10Gi

I have tried other things like

  persistence:
    existingClaim: 
          ClameName: pvclaim-winrabbitmq

I also tried adding in the volume

  volumes:
  - name: pvc-mount
    persistentVolumeClaim:
      claimName: pvclaim-winrabbitmq

There doesn't appear to be any configurable option here for an existing PVC that we have setup using NFS or CSi to ensure the PVC is persistent between pod restarts.

Describe the solution you'd like

I want to take my persistent volume (PV) and claim (PVC) created before hand
I already have the PV
example PVC:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: pvclaim-winrabbitmq
spec:
  storageClassName: ""
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 10Gi
  volumeName: pv-winrabbitmq

and tell RabbitMQCluster Operator to stop creating the the one called "persistence-rabbitmq-server-0" which fails because I need persistence not local storage class

Describe alternatives you've considered

I was using bitnami charts previously but now they are giving us imagepullback errors.
Arrow does not respond in anyway or form to the access requests on the website, and if I phone them they seem unable to help, no one there has ever heard of bitnami or rabbitmq, so therefore they are seemingly unable to assist

I have also tried adding the legacy repo and that also doesn't work and imagepullback errors is all you get.

Seems there is no paid or free way to make this work properly.

This was the best solution and it doesn't work anymore...

Our Helm deployment looked like this:

helm install rabbitmq-alpha bitnami/rabbitmq --namespace ourapp-alpha \
--set replicaCount=1 \
--set volumePermissions.enabled=true \
--set clustering.forceBoot=true \
--set podManagementPolicy=Parallel \
--set auth.username=admin,auth.password=adminpassword \
--set namespaceOverride=ourapp-alpha \
--set readinessProbe.enabled=false \
--set service.type=LoadBalancer \
--set persistence.existingClaim=pvclaim-winrabbitmq-alpha

Maybe some better documentation for NON developers (IT Admins) to be able to setup and manage RabbitMQ?

Additional context

https://www.rabbitmq.com/blog/2020/08/10/deploying-rabbitmq-to-kubernetes-whats-involved#use-a-persistent-volume-for-node-data

we do not want to use this for persistence either. Quite simply it doesn't fit the environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions