Docker 无法使用RabbitMQ群集Kubernetes运算符创建RabbitMQ实例
我试图使用RabbitMQ集群Kubernetes操作符创建RabbitMQ实例,但PersistentVolumeClaims存在问题。我正在使用Docker Desktop for Windows运行Kubernetes 1.18.8 我安装了如下操作器: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"
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