【问题标题】:rabbit-mq deployment with kubernetes使用 kubernetes 部署rabbit-mq
【发布时间】:2018-08-29 15:40:15
【问题描述】:

我正在从 docker-compose 迁移到 kuberenetes。 我们正在使用的服务之一是 rabbit-mq。 当我尝试部署 rabbit-mq 3.6.16-management 我收到错误:

/usr/local/bin/docker-entrypoint.sh:第 382 行:/etc/rabbitmq/rabbitmq.config:权限被拒绝。

虽然它适用于 docker-compose 部署。

Kuberentes

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: rabbit-mq
  name: rabbit-mq
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rabbit-mq
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
         app: rabbit-mq
    spec:
      containers:
      - image: rabbitmq:3.6.16-management
        name: rabbit-mq
        ports:
        - containerPort: 15671
        - containerPort: 5671
        volumeMounts:
        - mountPath: /etc/rabbitmq
          name: rabbit-mq-data
      restartPolicy: Always
      hostname: rabbit-mq
      volumes:
      - name: rabbit-mq-data
        persistentVolumeClaim:
          claimName: rabbit-mq-data

PVC:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  labels:
    app: rabbit-mq-data
  name: rabbit-mq-data
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 16Gi

现值:

apiVersion: v1
kind: PersistentVolume
metadata:
  name: rabbit-mq-data
  labels:
    type: local
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 16Gi
  hostPath:
    path: "/etc/rabbitmq"

Docker-Compose:

  rabbit-mq:
      image: rabbitmq:3.6.16-management
      ports:
        - "15671:15671"
        - "5671:5671"
      container_name: rabbit-mq
      volumes:
        - rabbit-mq-data:/etc/rabbitmq
      restart: on-failure:5

【问题讨论】:

  • 持久卷的 PVC 和相关清单是什么?
  • 我已将它们添加到主帖
  • 您在hostPath 中引用的/etc/rabbitmq 文件夹的文件所有者和权限是什么?
  • 最终我使用了 configmap 和 secrets 来挂载文件而不是 PV,并按预期工作。

标签: docker kubernetes rabbitmq kubectl


【解决方案1】:

最终我使用了 configmap 和 secrets 来挂载文件而不是 PV,并按预期工作。

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: rabbit-mq
  name: rabbit-mq
spec:
  replicas: 1
  selector:
    matchLabels:
      app: rabbit-mq
  template:
    metadata:
      labels:
         app: rabbit-mq
    spec:
      containers:
      - image: rabbitmq:3.6.16-management
        name: rabbit-mq
        ports:
        - containerPort: 15671
        - containerPort: 5671
        volumeMounts:
        - name: rabbit-mq-data
          mountPath: /etc/rabbitmq
          readOnly: false
        - name: mq-secret
          mountPath: /etc/rabbitmq/certfiles
          #readOnly: true
      volumes:
        - name: mq-secret
          secret:
            defaultMode: 420
            secretName: rabbit-mq-secrets
        - configMap:
            defaultMode: 420
            items:
            - key: rabbitmq.config
              path: rabbitmq.config
            name: mq-config
          name: rabbit-mq-data

【讨论】:

  • 你能提供整个yaml吗?我遇到了同样的问题。如果你有 git repo,你能不能分享一下,我会从那里参考。谢谢
猜你喜欢
  • 1970-01-01
  • 2016-11-01
  • 2018-07-30
  • 1970-01-01
  • 2018-08-08
  • 1970-01-01
  • 2023-01-31
  • 2019-04-25
  • 2018-01-28
相关资源
最近更新 更多