下面是一个示例的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文件,你可能需要根据你的实际需求进行修改

k8s 部署rabbitmq-cluster yaml

原文地址: http://www.cveoy.top/t/topic/hYpe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录