Kubernetes 部署 RabbitMQ 集群 - YAML 示例
下面是一个示例的 RabbitMQ集群的Kubernetes部署YAML文件:\n\nyaml\napiVersion: v1\nkind: Service\nmetadata:\n name: rabbitmq-service\nspec:\n selector:\n app: rabbitmq\n ports:\n - name: amqp\n port: 5672\n - name: management\n port: 15672\n---\napiVersion: apps/v1\nkind: StatefulSet\nmetadata:\n name: rabbitmq-cluster\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.9-management\n ports:\n - containerPort: 5672\n - containerPort: 15672\n volumeMounts:\n - name: rabbitmq-data\n mountPath: /var/lib/rabbitmq\n env:\n - name: RABBITMQ_ERLANG_COOKIE\n value: "secretcookie"\n args:\n - rabbitmq-server\n - --cluster-formation\n - autoheal\n - --cluster-name\n - rabbit@$(hostname).rabbitmq-service.default.svc.cluster.local\n readinessProbe:\n exec:\n command:\n - rabbitmqctl\n - status\n initialDelaySeconds: 10\n timeoutSeconds: 5\n livenessProbe:\n exec:\n command:\n - rabbitmqctl\n - status\n initialDelaySeconds: 120\n periodSeconds: 10\n volumes:\n - name: rabbitmq-data\n emptyDir: {}\n\n\n这个YAML文件定义了一个包含3个RabbitMQ节点的StatefulSet,并且使用了一个Service来访问这个集群。每个RabbitMQ节点使用了RabbitMQ官方提供的带有管理插件的镜像,并且挂载了一个emptyDir卷用于持久化数据。每个节点还配置了一些环境变量和参数,用于设置集群的名称和自动化集群形成。同时,还定义了用于健康检查的readinessProbe和livenessProbe。\n\n请注意,这只是一个示例的YAML文件,你可能需要根据你的实际需求进行修改。
原文地址: https://www.cveoy.top/t/topic/pHxh 著作权归作者所有。请勿转载和采集!