<p>I'm currently building a backend, that among other things, involves sending RabbitMQ messages from localhost into a K8s cluster where containers can run and pickup specific messages.</p>
<p>So far I've been using Minikube to carry out all of my Docker and K8s development but have ran into a problem when trying to install RabbitMQ.</p>
<p>I've been following the RabbitMQ Cluster Operator official documentation (<a href="https://www.rabbitmq.com/kubernetes/operator/install-operator.html" rel="nofollow noreferrer">installing</a>) (<a href="https://www.rabbitmq.com/kubernetes/operator/using-operator.html" rel="nofollow noreferrer">using</a>). I got to the &quot;Create a RabbitMQ Instance&quot; section and ran into this error:</p>
<pre><code>1 pod has unbound immediate persistentVolumeClaims
</code></pre>
<p>I fixed it by continuing with the tutorial and adding a PV and PVC into my RabbitMQCluster YAML file. Tried to apply it again and came across my next issue:</p>
<pre><code>1 insufficient cpu
</code></pre>
<p>I've tried messing around with resource limits and requests in the YAML file but no success yet. After Googling and doing some general research I noticed that my specific problems and setup (Minikube and RabbitMQ) doesn't seem to be very popular. My question is, have I passed the scope or use case of Minikube by trying to install external services like RabbitMQ? If so what should be my next step?</p>
<p>If not, are there any useful tutorials out there for installing RabbitMQ in Minikube?</p>
<p>If it helps, here's my current YAML file for the RabbitMQCluster:</p>
<pre><code>apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
  name: rabbitmq-cluster
spec:
  persistence:
    storageClassName: standard
    storage: 5Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: rabbimq-pvc
spec:
  resources:
    requests:
      storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: rabbitmq-pv
spec:
  capacity:
    storage: 5Gi
  volumeMode: Filesystem
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Recycle
  storageClassName: standard
  hostPath:
    path: /mnt/app/rabbitmq
    type: DirectoryOrCreate
</code></pre>
<p>Edit:</p>
<p>Command used to start Minikube:</p>
<pre><code>minikube start
</code></pre>
<p>Output:</p>
<pre><code>😄  minikube v1.17.1 on Ubuntu 20.04
✨  Using the docker driver based on existing profile
👍  Starting control plane node minikube in cluster minikube
🔄  Restarting existing docker container for &quot;minikube&quot; ...
🎉  minikube 1.18.1 is available! Download it: https://github.com/kubernetes/minikube/releases/tag/v1.18.1
💡  To disable this notice, run: 'minikube config set WantUpdateNotification false'

🐳  Preparing Kubernetes v1.20.2 on Docker 20.10.2 ...
🔎  Verifying Kubernetes components...
🌟  Enabled addons: storage-provisioner, default-storageclass, dashboard
🏄  Done! kubectl is now configured to use &quot;minikube&quot; cluster and &quot;default&quot; namespace by default
</code></pre>

<p>According to the command you used to start minikube, the error is because you don't have enough resources assigned to your cluster.<br />
According to the source code from the rabbitmq cluster operator, it seems that it needs 2CPUs.</p>
<p>You need to adjust the number of CPUs (and probably the memory also) when you initialize your cluster. Below is an example to start a kubernetes cluster with 4 cpus and 8G of RAM :</p>
<pre class="lang-sh prettyprint-override"><code>minikube start --cpus=4 --memory 8192
</code></pre>
<p>If you want to check your current allocated ressources, you can run <code>kubectl describe node</code>.</p>
