kind: ConfigMap apiVersion: v1 metadata: name: shared-rabbitmq data: RABBITMQ_SERVERS: rabbitmq RABBITMQ_VHOST: / RABBITMQ_USERNAME: user --- apiVersion: v1 kind: ConfigMap metadata: name: rabbitmq-env-config data: memory.conf: |- total_memory_available_override_value = 1GB --- apiVersion: v1 kind: Secret metadata: name: rabbitmq stringData: AMQP_URL: "amqp://user:password@rabbitmq:5672/" --- apiVersion: apps/v1 kind: Deployment metadata: labels: app.kubernetes.io/name: rabbitmq release: rabbitmq name: rabbitmq spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: rabbitmq strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 1 type: RollingUpdate template: metadata: labels: app.kubernetes.io/name: rabbitmq spec: securityContext: fsGroup: 999 runAsUser: 999 runAsGroup: 999 containers: - env: - name: RABBITMQ_DEFAULT_USER value: user - name: RABBITMQ_DEFAULT_PASS value: password - name: RABBITMQ_NODE_PORT_NUMBER value: "5672" - name: RABBITMQ_NODE_TYPE value: stats - name: RABBITMQ_NODENAME value: rabbit@localhost - name: RABBITMQ_CLUSTER_NODE_NAME - name: RABBITMQ_DEFAULT_VHOST value: / - name: RABBITMQ_MANAGER_PORT_NUMBER value: "15672" - name: RABBITMQ_DISK_FREE_LIMIT value: '"8GiB"' - name: RABBITMQ_CONFIG_FILES value: /etc/rabbitmq/conf.d image: rabbitmq:4.2.1-management@sha256:86fa2b761fc3a71a2b73090d7e45ad820f611fc829c1cb8cf087e09258fb65c1 imagePullPolicy: Always livenessProbe: exec: command: - rabbitmqctl - status failureThreshold: 6 initialDelaySeconds: 120 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 5 name: rabbitmq ports: - containerPort: 4369 name: epmd protocol: TCP - containerPort: 5672 name: amqp protocol: TCP - containerPort: 25672 name: dist protocol: TCP - containerPort: 15672 name: stats protocol: TCP readinessProbe: httpGet: port: 15672 path: /api/aliveness-test/%2F httpHeaders: - name: "Authorization" value: "Basic dXNlcjpwYXNzd29yZA==" failureThreshold: 3 initialDelaySeconds: 10 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 3 resources: requests: cpu: 100m memory: 256Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - name: data mountPath: /var/lib/rabbitmq - name: config mountPath: /etc/rabbitmq/conf.d/20-memory.conf subPath: memory.conf readOnly: true volumes: - name: data hostPath: path: /data/rabbitmq - name: config configMap: name: rabbitmq-env-config dnsPolicy: ClusterFirst restartPolicy: Always --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/name: rabbitmq release: rabbitmq name: rabbitmq spec: externalTrafficPolicy: Cluster ports: - name: epmd nodePort: 31799 port: 4369 protocol: TCP targetPort: epmd - name: amqp nodePort: 5672 port: 5672 protocol: TCP targetPort: amqp - name: dist nodePort: 32687 port: 25672 protocol: TCP targetPort: dist - name: stats nodePort: 15672 port: 15672 protocol: TCP targetPort: stats selector: app.kubernetes.io/name: rabbitmq sessionAffinity: None type: NodePort