Docker 无法使用RabbitMQ群集Kubernetes运算符创建RabbitMQ实例

Docker 无法使用RabbitMQ群集Kubernetes运算符创建RabbitMQ实例,docker,kubernetes,rabbitmq,docker-for-windows,kubernetes-operator,Docker,Kubernetes,Rabbitmq,Docker For Windows,Kubernetes Operator,我试图使用RabbitMQ集群Kubernetes操作符创建RabbitMQ实例,但PersistentVolumeClaims存在问题。我正在使用Docker Desktop for Windows运行Kubernetes 1.18.8 我安装了如下操作器: kubectl apply -f "https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml"

我试图使用RabbitMQ集群Kubernetes操作符创建RabbitMQ实例,但PersistentVolumeClaims存在问题。我正在使用Docker Desktop for Windows运行Kubernetes 1.18.8

我安装了如下操作器:

kubectl apply -f "https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml"
我根据文档为实例创建了这个非常简单的配置:

apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
  name: nccrabbitmqcluster
它似乎创建了它应该创建的所有对象,但pod停留在挂起状态:

$ kubectl get all | grep rabbit
pod/nccrabbitmqcluster-server-0         0/1     Pending   0          14m
service/nccrabbitmqcluster                  ClusterIP      10.100.186.115   <none>        5672/TCP,15672/TCP   14m
service/nccrabbitmqcluster-nodes            ClusterIP      None             <none>        4369/TCP,25672/TCP   14m
statefulset.apps/nccrabbitmqcluster-server     0/1     14m
我的理解是docker.io/hostpath是正确的供应器:

$ kubectl get storageclasses
NAME                 PROVISIONER          RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
hostpath (default)   docker.io/hostpath   Delete          Immediate           false                  20d
我看不到任何与PC相关的PV:

$ kubectl get pv | grep rabbit

为什么不自动创建卷?我该怎么办?

是的,您的本地主机路径不能作为动态卷供应器工作。该操作员需要一个可以动态创建PV的storageclassname。 在您的情况下,您的操作员会持续等待PV的创建。取而代之的是,如果您在本地机器中进行操作,则可以手动创建PV和PVC。 请勾选此示例-


如果你想尝试任何像AWS这样的云服务提供商,那就很容易了。在集群中部署EBS CSI驱动程序,它将为您创建一个storageclass,storageclass将提供动态卷。

我认为这是因为。本地存储不支持动态资源调配,因此无法正常工作,如错误中所述。您可以手动添加资源调配并检查其是否正常工作吗?
$ kubectl get storageclasses
NAME                 PROVISIONER          RECLAIMPOLICY   VOLUMEBINDINGMODE   ALLOWVOLUMEEXPANSION   AGE
hostpath (default)   docker.io/hostpath   Delete          Immediate           false                  20d
$ kubectl get pv | grep rabbit