I am trying to run a rabbitmq service (in minikube) using the following k8s yamls:
- configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: rabbitmq-configmap
data:
rabbitmq.conf: |
default_vhost = /
listeners.tcp.default = 5672
default_pass = admin
default_user = root
management.listener.port = 15672
management.listener.ssl = false
management.load_definitions = /etc/rabbitmq/definitions.json
definitions.json: |
{
"vhost": {"name": "/"},
"permissions": [
{
"user": "admin",
"vhost": "/",
"configure": ".*",
"write": ".*",
"read": ".*"
}
],
"queues": [
{
"name": "queue1",
"vhost": "/",
"durable": true,
"auto_delete": false,
"arguments": {
"x-queue-type": "classic"
}
},
{
"name": "queue2",
"vhost": "/",
"durable": true,
"auto_delete": false,
"arguments": {
"x-queue-type": "classic"
}
}
]
}
- secrets.yaml
apiVersion: v1
kind: Secret
metadata:
name: rabbitmq-secret
type: Opaque
stringData:
username: admin
password: root
- service.yaml
apiVersion: v1
kind: Service
metadata:
name: rabbitmq
spec:
selector:
app: rabbitmq
ports:
- port: 5672
name: amqp
- port: 15672
name: management
- statefulset.yaml
# RabbitMQ StatefulSet
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: rabbitmq
spec:
serviceName: rabbitmq
replicas: 1
selector:
matchLabels:
app: rabbitmq
template:
metadata:
labels:
app: rabbitmq
spec:
containers:
- name: rabbitmq
image: rabbitmq:4.0.3-management
ports:
- containerPort: 5672
name: amqp
- containerPort: 15672
name: management
env:
- name: RABBITMQ_DEFAULT_USER
valueFrom:
secretKeyRef:
name: rabbitmq-secret
key: username
- name: RABBITMQ_DEFAULT_PASS
valueFrom:
secretKeyRef:
name: rabbitmq-secret
key: password
- name: RABBITMQ_CONFIG_FILE
value: /etc/rabbitmq/rabbitmq.conf
volumeMounts:
- name: rabbitmq-data
mountPath: /var/lib/rabbitmq
- name: rabbitmq-definitions
mountPath: /etc/rabbitmq/definitions.json
subPath: definitions.json
- name: rabbitmq-config
mountPath: /etc/rabbitmq/rabbitmq.conf
subPath: rabbitmq.conf
volumes:
- name: rabbitmq-definitions
configMap:
name: rabbitmq-configmap
- name: rabbitmq-config
configMap:
name: rabbitmq-configmap
volumeClaimTemplates:
- metadata:
name: rabbitmq-data
spec:
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 1Gi
I get the following error from the logs:
[error] <0.254.0>
[error] <0.254.0> rabbit_boot_steps:-run_step/2-lc$^0/1-0-/2, line 55
[error] <0.254.0> rabbit_boot_steps:run_step/2, line 58
[error] <0.254.0> rabbit_boot_steps:-run_boot_steps/1-lc$^0/1-0-/1, line 22
[error] <0.254.0> rabbit_boot_steps:run_boot_steps/1, line 23
[error] <0.254.0> rabbit:start/2, line 990
[error] <0.254.0> application_master:start_it_old/4, line 293
[error] <0.254.0>
[error] <0.253.0> crasher:
[error] <0.253.0> initial call: application_master:init/4
[error] <0.253.0> pid: <0.253.0>
[error] <0.253.0> registered_name: []
[error] <0.253.0> exception exit: {{error,<<"Please create virtual host \"/\" prior to importing definitions.">>},
Runtime terminating during boot (terminating)
[error] <0.253.0> {rabbit,start,[normal,[]]}}
[error] <0.253.0> in function application_master:init/4 (application_master.erl, line 142)
AFAIK I am creating the vhost that it mentions to be missing. Or am I doing something wrong but I am too oblivious to see it?
I was running fine until yesterday, and there hasn't been any changes since. I have looked at similar questions in SO but none of them seem to be relevant to what I am doing, or the solution isn't applicable