服务分辨率在minikube中不起作用

时间:2016-07-10 22:23:00

标签: kubernetes

我安装了minikube以在本地使用kubernetes。我能够在本地创建pod和服务。

但是,在其上运行的pod(和容器)无法使用服务名称解析服务。

示例:我运行的redis服务是redis pod的代理。

kubectl get services显示已创建taht redis服务。

但是,当我的Web应用程序尝试连接到redis-service时,我会收到连接超时,因为Web应用程序(pod)无法解析redis-service

是否需要安装任何特殊功能才能使服务解决方案在本地运行。

这是运行kubectl get services

的输出
 frontend            10.0.0.250                 80/TCP      3h
 kubernetes          10.0.0.1     <none>        443/TCP     3h
 redis-service       10.0.0.156   <none>        6379/TCP    3h
 rethinkdb-service   10.0.0.89    <none>        28015/TCP   3h






kubectl describe services --namespace=kube-system

Name:                   kube-dns
Namespace:              kube-system
Labels:                 k8s-app=kube-dns,kubernetes.io/name=KubeDNS
Selector:               <none>
Type:                   ClusterIP
IP:                     10.0.0.10
Port:                   dns     53/UDP
Endpoints:              10.0.2.15:53
Port:                   dns-tcp 53/TCP
Endpoints:              10.0.2.15:53
Session Affinity:       None
No events.

Name:                   kubernetes-dashboard
Namespace:              kube-system
Labels:                 app=kubernetes-dashboard,kubernetes.io/cluster-service=true
Selector:               app=kubernetes-dashboard
Type:                   NodePort
IP:                     10.0.0.156
Port:                   <unset> 80/TCP
NodePort:               <unset> 30000/TCP
Endpoints:              172.17.0.2:9090
Session Affinity:       None
No events.

1 个答案:

答案 0 :(得分:3)

您需要在minikube中将您的服务公开为type: NodePort,而不是ClusterIP

然后,您可以使用minikube service <servicename>

访问它们

(或者您可以找到他们使用kubectl get services手动映射到哪个端口)