RabbitMQ群集运算符在Kubernetes中不起作用
RabbitMQ群集运算符在Kubernetes中不起作用。RabbitMQ群集运算符在Kubernetes中不起作用,kubernetes,rabbitmq,Kubernetes,Rabbitmq,RabbitMQ群集运算符在Kubernetes中不起作用。 我有一个kubernetes cluster 1.17.17,共3个节点。我和一个牧场主一起部署了它。 根据此说明,我安装了RabbitMQ群集操作符: kubectl应用-f”https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml“ 没关系!但是 我根据文档为实例创建了这个非常简单的配置: apiVersi
我有一个kubernetes cluster 1.17.17,共3个节点。我和一个牧场主一起部署了它。 根据此说明,我安装了RabbitMQ群集操作符:
kubectl应用-f”https://github.com/rabbitmq/cluster-operator/releases/latest/download/cluster-operator.yml“
没关系!但是 我根据文档为实例创建了这个非常简单的配置:
apiVersion: rabbitmq.com/v1beta1
kind: RabbitmqCluster
metadata:
name: rabbitmq
namespace: test-rabbitmq
我有错误:为pod“rabbitmq-server-0”运行“VolumeBinding”筛选器插件时出错:pod已解除立即PersistentVolumeClaims的绑定
之后我检查:kubectl获取存储类
看到没有资源!我添加了以下StoreGeClass:
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
创建pv和pvc:
kind: PersistentVolume
apiVersion: v1
metadata:
name: rabbitmq-data-sigma
labels:
type: local
namespace: test-rabbitmq
annotations:
volume.alpha.kubernetes.io/storage-class: rabbitmq-data-sigma
spec:
storageClassName: local-storage
capacity:
storage: 3Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Recycle
hostPath:
path: "/opt/rabbitmq-data-sigma"
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: rabbitmq-data
namespace: test-rabbitmq
spec:
storageClassName: local-storage
accessModes:
- ReadWriteMany
resources:
requests:
storage: 3Gi
我最终在卷中得到一个错误-该卷将自动生成:
请帮助理解这个问题 您可以按照本文所述配置动态NFS资源调配等,也可以手动创建PersistentVolume
(这是不推荐的方法)
我真的建议您配置动态资源调配-
这将允许您自动生成PersistentVolumes
手动创建PersistentVolume
正如我所提到的,这不是推荐的方法,但当我们希望在不配置额外组件的情况下快速检查某些内容时,它可能会很有用
首先,您需要创建PersistentVolume
:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
hostPath:
path: /mnt/rabbitmq # data will be stored in the "/mnt/rabbitmq" directory on the worker node
type: Directory
然后在运行rabbitmq-server-0
Pod
的节点上创建/mnt/rabbitmq
目录。在您的情况下,您有3个工作节点,因此可能很难确定Pod
将在哪里运行
因此,您可以看到PersistentVolumeClaim
已绑定到新创建的PersistentVolume
,并且rabbitmq-server-0
Pod
已成功创建:
# kubectl get pv,pvc -A
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/pv 10Gi RWO Recycle Bound test-rabbitmq/persistence-rabbitmq-server-0 11m
NAMESPACE NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
test-rabbitmq persistentvolumeclaim/persistence-rabbitmq-server-0 Bound pv 10Gi RWO 11m
# kubectl get pod -n test-rabbitmq
NAME READY STATUS RESTARTS AGE
rabbitmq-server-0 1/1 Running 0 11m
# kubectl get pv,pvc -A
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
persistentvolume/pv 10Gi RWO Recycle Bound test-rabbitmq/persistence-rabbitmq-server-0 11m
NAMESPACE NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
test-rabbitmq persistentvolumeclaim/persistence-rabbitmq-server-0 Bound pv 10Gi RWO 11m
# kubectl get pod -n test-rabbitmq
NAME READY STATUS RESTARTS AGE
rabbitmq-server-0 1/1 Running 0 11m