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