如何从 minikube 访问 rabbitmq 的管理 UI?

how to access management UI for rabbitmq from minikube?

我有 docker-compose 文件和 rabbitmq 管理映像 运行ning。我可以访问 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 Pods 和服务。

我正在使用 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

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

$ minikube IP
127.0.0.1

当我尝试使用 http://127.0.0.1:31672 访问时,它给出了找不到页面的错误。

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