apiVersion: apps/v1 kind: Deployment metadata: name: rabbitmq-deployment namespace: forfarm spec: replicas: 1 selector: matchLabels: app: rabbitmq template: metadata: labels: app: rabbitmq spec: containers: - name: rabbitmq image: rabbitmq:3-management-alpine ports: - containerPort: 5672 # AMQP - containerPort: 15672 # Management UI resources: requests: memory: "256Mi" cpu: "100m" limits: memory: "512Mi" cpu: "300m" env: - name: RABBITMQ_DEFAULT_USER valueFrom: configMapKeyRef: name: forfarm-config key: RABBITMQ_USER - name: RABBITMQ_DEFAULT_PASS valueFrom: secretKeyRef: name: forfarm-secrets key: RABBITMQ_PASSWORD volumeMounts: - mountPath: /var/lib/rabbitmq/ name: rabbitmq-storage readinessProbe: exec: command: ["rabbitmq-diagnostics", "status"] initialDelaySeconds: 10 periodSeconds: 5 livenessProbe: exec: command: ["rabbitmq-diagnostics", "ping"] initialDelaySeconds: 30 periodSeconds: 10 volumes: - name: rabbitmq-storage persistentVolumeClaim: claimName: rabbitmq-pvc --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: rabbitmq-pvc namespace: forfarm spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi