我试图从一个节点(不是一个pod)访问Kubernetes内部DNS服务器。节点中访问Kubernetes DNS服务器
一切工作都适用于inter pod通信,但现在我有一个用例,我需要一个非docker/k8s应用程序来访问kubernetes中的服务。
由于我的应用程序不使用k8s内部DNS,因此我无法使用服务名称来访问它。 有没有办法告诉我的节点使用Kubernetes dns?
我试图从一个节点(不是一个pod)访问Kubernetes内部DNS服务器。节点中访问Kubernetes DNS服务器
一切工作都适用于inter pod通信,但现在我有一个用例,我需要一个非docker/k8s应用程序来访问kubernetes中的服务。
由于我的应用程序不使用k8s内部DNS,因此我无法使用服务名称来访问它。 有没有办法告诉我的节点使用Kubernetes dns?
Kubernetes使用skyDNS和Kube2sky的DNS服务器。 Kube2sky维护与服务名称相关的k8s相关DNS记录,而skyDNS从ETCD中读取这些记录。因此,您可以将k8s DNS名称服务器和搜索域添加到系统DNS配置中。例如,您的k8s DNS服务器是10.16.42.197,搜索域是domeos.sohu,并且您的应用程序在Centos 7中运行。因此,您需要将nameserver 10.16.42.197
和search default.svc.domeos.sohu svc.domeos.sohu domeos.sohu
添加到/etc/resolv.conf文件中。
问题是由Kubernetes给出的IP不能从我的主机路由 –