如何使用yml文件在K8S(Minikube)上公开简单的Rabbitmq部署?

时间:2020-11-05 13:22:16

标签: kubernetes rabbitmq minikube

我正在尝试公开RabbitMQ部署并在浏览器中访问它。对于部署,我创建了以下yml:

apiVersion: apps/v1
kind: Deployment
metadata: 
    name: blur-rabbitmq
    labels:
        app: blur-rabbitmq
spec:
    replicas: 1
    selector:
        matchLabels:
            app: blur-rabbitmq
    template:
        metadata:
            labels:
                app: blur-rabbitmq
        spec:
            containers:
            - name: blur-rabbitmq
              image: rabbitmq:3-management
              ports:
              - containerPort: 15672    

对于该服务,以下内容:

apiVersion: v1
kind: Service
metadata:
  name: blur-service
  labels:
    app: blur-rabbitmq
spec:
  selector:
    app: blur-rabbitmq
  type: NodePort
  ports:
  - port: 8080
    protocol: TCP
    targetPort: 15672

创建部署和服务后,我希望访问localhost:8080上RabbitMQ的主页,但无法正常工作。我想念什么?有想法吗?

1 个答案:

答案 0 :(得分:2)

您需要通过kubectl port-forward端口将本地端口转发到群集,或者需要创建Ingress对象以将公共IP映射到群集内的服务端点。

基本上,集群具有自己的内部网络,您需要指示Kubernetes“打个洞”,以便您从外部访问该网络内的服务端点。