Minikube部署Pulsar后无法获取proxy的HTTP及二进制服务URL
问题原因及解决方案
命令报错原因
你执行的minikube service命令中,–-url参数的第一个横杠是全角特殊字符,不是标准半角减号(-),Minikube无法识别这是可选参数,会将其判定为第二个服务名参数,因此抛出「必须指定服务名」的错误。
修正后的命令
minikube service pulsar-mini-proxy -n pulsar --url
服务无URL分配的原因
你的Pulsar proxy服务是LoadBalancer类型,Minikube默认不会为LoadBalancer类型服务自动分配外部IP,所以你看到服务的EXTERNAL-IP状态为<pending>,minikube service list的URL列也为空。
两种解决访问的方案
- 方案1:直接用NodePort访问
你的服务已经暴露了NodePort:HTTP代理端口为31241,二进制Pulsar协议端口为32025,先执行minikube ip获取Minikube节点IP,访问地址分别为:- HTTP代理:
http://<minikube节点IP>:31241 - 二进制代理:
pulsar://<minikube节点IP>:32025
- HTTP代理:
- 方案2:开启Minikube Tunnel分配LoadBalancer IP
新开一个终端窗口执行以下命令,保持窗口不关闭:
再重新查询服务即可看到已分配的EXTERNAL-IP,执行修正后的minikube tunnel -n pulsarminikube service命令就能拿到对应的访问URL。
内容的提问来源于stack exchange,提问作者Snoop
相关产品推荐
相关产品推荐

