Kubernetes 负载均衡器 外部 IP 待定

new*_*ser 4 rabbitmq docker kubernetes docker-compose kubernetes-pod

我在 Kubernetes 中创建 RabbitMQ 集群。我正在尝试添加负载均衡器。但我无法获取负载均衡器外部 IP,它仍处于待处理状态。

apiVersion: v1
kind: Service
metadata:
  name: rabbitmq
  labels:
    run: rabbitmq
spec:
  type: NodePort
  ports:
  - port: 5672
    protocol: TCP
    name: mqtt
  - port: 15672
    protocol: TCP
    name: ui
  selector:
    run: rabbitmq
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: rabbitmq
spec:
  replicas: 1
  selector:
    matchLabels:
      run: rabbitmq
  template:
    metadata:
      labels:
        run: rabbitmq
    spec:
      containers:
      - name: rabbitmq
        image: rabbitmq:latest
        imagePullPolicy: Always
Run Code Online (Sandbox Code Playgroud)

我的负载均衡器在下面。我给负载均衡器的nod​​ePort是随机的,端口号是来自kubernetes创建的RabbitMQ mqtt端口号,目标端口号是来自kubernetes创建的RabbitMQ UI端口号

apiVersion: v1
kind: Service
metadata:
  name: loadbalanceservice
  labels:
    app: rabbitmq
spec:
  selector:
    app: rabbitmq
  type: LoadBalancer
  ports:
  - nodePort: 31022
    port: 30601
    targetPort: 31533
Run Code Online (Sandbox Code Playgroud)

Arg*_*dhu 6

服务类型Loadbalancer仅适用于支持外部负载均衡器的云提供商。将类型字段设置为 LoadBalancer 为您的服务提供负载均衡器。它处于挂起状态,因为您所在的环境不支持 Loadbalancer 类型的服务。在非云环境中一个更简单的选择是使用节点端口类型服务。这是使用 Nodeport 从集群外部访问服务的指南。