【发布时间】:2016-10-19 06:35:28
【问题描述】:
我安装了 minikube 以在本地使用 kubernetes。我能够在本地创建 pod 和服务。
但是,在其上运行的 pod(和容器)无法使用服务名称解析服务。
示例:我正在运行 redis 服务,它充当 redis pod 的代理。
kubectl get services 显示 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.
【问题讨论】:
-
kubectl describe services --namespace=kube-system的输出是什么样的?是否有健康的kube-dns服务正在运行? -
名称:kube-dns 命名空间:kube-system 标签:k8s-app=kube-dns,kubernetes.io/name=KubeDNS 选择器:
类型:ClusterIP IP:10.0.0.10 端口: dns 53/UDP 端点:10.0.2.15:53 端口:dns-tcp 53/TCP 端点:10.0.2.15:53 会话亲和性:无 无事件。 -
是的,有一个 kube-dns 正在运行
-
如果你从 pod 内部运行“nslookup redis-service”,输出是什么?
-
同样的问题。
kubectl describe services --namespace=kube-system显示 kube-dns 正在运行。我做minikube ssh并得到这个:` docker@boot2docker:~$ nslookup atalanta-service 服务器:192.168.64.1 地址 1:192.168.64.1 nslookup:无法解析 'atalanta-service' `
标签: kubernetes