Kubernetes 部署 RabbitMQ 集群 YAML 示例 - 快速入门指南
下面是一个示例的Kubernetes部署RabbitMQ集群的YAML文件:\n\nyaml\n---\napiVersion: v1\nkind: Service\nmetadata:\n name: rabbitmq-service\nspec:\n selector:\n app: rabbitmq\n ports:\n - name: rabbitmq\n protocol: TCP\n port: 5672\n - name: rabbitmq-mgmt\n protocol: TCP\n port: 15672\n type: LoadBalancer\n\n---\napiVersion: apps/v1\nkind: StatefulSet\nmetadata:\n name: rabbitmq\nspec:\n serviceName: rabbitmq-service\n replicas: 3\n selector:\n matchLabels:\n app: rabbitmq\n template:\n metadata:\n labels:\n app: rabbitmq\n spec:\n containers:\n - name: rabbitmq\n image: rabbitmq:3.8.11-management\n ports:\n - containerPort: 5672\n protocol: TCP\n - containerPort: 15672\n protocol: TCP\n env:\n - name: RABBITMQ_ERLANG_COOKIE\n value: \"mysecretcookie\"\n volumeMounts:\n - name: rabbitmq-data\n mountPath: /var/lib/rabbitmq\n volumes:\n - name: rabbitmq-data\n persistentVolumeClaim:\n claimName: rabbitmq-pvc\n\n\n这个YAML文件定义了一个包含3个副本的RabbitMQ集群,并创建了一个LoadBalancer类型的Service,用于外部访问RabbitMQ。每个RabbitMQ容器都使用了RabbitMQ官方提供的带有管理插件的镜像,并指定了RABBITMQ_ERLANG_COOKIE环境变量用于集群内部通信的认证。\n\n你可以将以上的YAML代码保存到一个文件中(例如rabbitmq.yaml),然后使用以下命令部署RabbitMQ集群:\n\n\nkubectl apply -f rabbitmq.yaml\n\n\n注意,你需要有一个可用的持久化存储卷(PersistentVolume)和持久化存储卷声明(PersistentVolumeClaim),用于保存RabbitMQ的数据。在上面的示例中,我们使用了名为rabbitmq-pvc的PersistentVolumeClaim,你需要根据自己的需求进行配置。
原文地址: https://www.cveoy.top/t/topic/pHxp 著作权归作者所有。请勿转载和采集!