以下是一个示例的 RabbitMQ 集群部署在 Kubernetes 集群的 YAML 模板:

# rabbitmq-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: rabbitmq-service
spec:
  selector:
    app: rabbitmq
  ports:
    - name: amqp
      port: 5672
      targetPort: 5672
    - name: management
      port: 15672
      targetPort: 15672

---

# rabbitmq-statefulset.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rabbitmq
spec:
  serviceName: rabbitmq-service
  replicas: 3
  selector:
    matchLabels:
      app: rabbitmq
  template:
    metadata:
      labels:
        app: rabbitmq
    spec:
      containers:
        - name: rabbitmq
          image: rabbitmq:3.8.16-management
          ports:
            - containerPort: 5672
            - containerPort: 15672
          volumeMounts:
            - name: rabbitmq-data
              mountPath: /var/lib/rabbitmq
          env:
            - name: RABBITMQ_DEFAULT_USER
              value: 'admin'
            - name: RABBITMQ_DEFAULT_PASS
              value: 'password'
  volumeClaimTemplates:
    - metadata:
        name: rabbitmq-data
      spec:
        accessModes: [ 'ReadWriteOnce' ]
        storageClassName: '<YOUR_STORAGE_CLASS_NAME>'
        resources:
          requests:
            storage: 10Gi

请注意替换<YOUR_STORAGE_CLASS_NAME>为您 Kubernetes 集群中的存储类名称。

使用以上模板,您可以通过以下命令在 Kubernetes 集群中部署 RabbitMQ 集群:

kubectl apply -f rabbitmq-service.yaml
kubectl apply -f rabbitmq-statefulset.yaml

这将创建一个由 3 个 RabbitMQ 节点组成的集群,并暴露 5672 端口(AMQP)和 15672 端口(管理界面)的 Service。您可以根据需要调整 YAML 模板中的配置。

Kubernetes 上部署 RabbitMQ 集群 - YAML 模板示例

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

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