1

我有运行 rabbitmq 管理映像的 docker-compose 文件。我可以访问 UI 进行管理。

$ cat docker-compose.yml
---
version: '3.7'
services:
  rabbitmq:
    image: rabbitmq:management
    ports:
      - '5672:5672'
      - '15672:15672'
    environment:
      RABBITMQ_DEFAULT_VHOST: storage-collector-dev
      RABBITMQ_DEFAULT_USER: dev
      RABBITMQ_DEFAULT_PASS: dev

我正在尝试将其转换为 Kubernetes Pod 和服务。

我正在使用 Mac 运行 minikube。

这是我的文件

$ tree kubernetes/
kubernetes/
└── coreservices
    ├── rabbitmq_pod.yml
    └── rabbitmq_service.yml
$ cat kubernetes/coreservices/rabbitmq_pod.yml
---
apiVersion: v1
kind: Pod
metadata:
  name: rabbitmq-pod
  labels:
    app: rabbitmq
spec:
  containers:
    - name: rabbitmq-pod
      image: rabbitmq:management
      ports:
        - containerPort: 5672
          name: amqp
        - containerPort: 15672
          name: http
      env:
        - name: RABBITMQ_DEFAULT_VHOST
          value: storage-collector-dev
        - name: RABBITMQ_DEFAULT_USER
          value: dev
        - name: RABBITMQ_DEFAULT_PASS
          value: dev
...
$ cat kubernetes/coreservices/rabbitmq_service.yml
---
apiVersion: v1
kind: Service
metadata:
  name: rabbitmq
spec:
  type: NodePort
  selector:
    app: rabbitmq
  ports:
    - port: 5672
      targetPort: 5672
      name: amqp
    - port: 15672
      targetPort: 15672
      nodePort: 31672
      name: http
...

然后我应用这些文件

$ kubectl apply -f kubernetes/coreservices/
pod/rabbitmq-pod created
service/rabbitmq created

它创建服务和 pod。我获得了minikube访问 rabbitmq 管理 UI 的 IP。

$ minikube IP
127.0.0.1

当我尝试访问 usinghttp://127.0.0.1:31672时,它没有找到任何页面错误。

4

1 回答 1

2

您需要运行命令minikube service rabbitmq,然后获取 URLminikube service rabbitmq --url

于 2020-04-11T05:31:46.937 回答