You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSL2环境Minikube自定义LoadBalancer服务异常,如何对齐kubectl expose效果?

解决Minikube中自定义LoadBalancer Service ExternalIP Pending的问题

问题原因

Minikube本身没有真正的外部负载均衡器,LoadBalancer类型的Service默认依赖minikube tunnel来分配可访问的ExternalIP(即127.0.0.1)。你用kubectl expose成功获取到ExternalIP,大概率是因为执行该命令时minikube tunnel已经在后台运行;而创建自定义Service时没有启动隧道,导致ExternalIP处于pending状态。

修改自定义Service清单的两种方法

方法1:手动指定ExternalIP

直接在Service清单中添加externalIPs字段,将127.0.0.1设置为外部IP,无需依赖minikube tunnel即可访问:

apiVersion: v1
kind: Service
metadata:
  name: esg-lb
spec:
  type: LoadBalancer
  selector:
    app: rss  
  ports:
  - protocol: TCP
    port: 8080 
    targetPort: 5000
  externalIPs:
    - 127.0.0.1

应用修改后的清单:

kubectl apply -f rss_lb.yaml

之后查看Service状态,ExternalIP会直接显示为127.0.0.1,即可通过http://127.0.0.1:8080访问服务。

方法2:保持原有清单,启动Minikube隧道

如果不想修改Service清单,只需在终端启动minikube tunnel:

minikube tunnel

启动后,Minikube会自动为所有LoadBalancer类型的Service分配127.0.0.1作为ExternalIP,此时你的自定义Service的ExternalIP会从pending变为127.0.0.1。

验证效果

无论用哪种方法,执行以下命令确认Service状态:

kubectl get svc esg-lb

当输出中EXTERNAL-IP显示为127.0.0.1时,即可正常访问服务。

内容的提问来源于stack exchange,提问作者JaeWoo So

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 00:30:56