2016-11-15 118 views
0

我试图从一个节点(不是一个pod)访问Kubernetes内部DNS服务器。节点中访问Kubernetes DNS服务器

一切工作都适用于inter pod通信,但现在我有一个用例,我需要一个非docker/k8s应用程序来访问kubernetes中的服务。

由于我的应用程序不使用k8s内部DNS,因此我无法使用服务名称来访问它。 有没有办法告诉我的节点使用Kubernetes dns?

回答

0

Kubernetes使用skyDNSKube2sky的DNS服务器。 Kube2sky维护与服务名称相关的k8s相关DNS记录,而skyDNS从ETCD中读取这些记录。因此,您可以将k8s DNS名称服务器和搜索域添加到系统DNS配置中。例如,您的k8s DNS服务器是10.16.42.197,搜索域是domeos.sohu,并且您的应用程序在Centos 7中运行。因此,您需要将nameserver 10.16.42.197search default.svc.domeos.sohu svc.domeos.sohu domeos.sohu添加到/etc/resolv.conf文件中。

+0

问题是由Kubernetes给出的IP不能从我的主机路由 –