我试图从一个节点(而不是一个pod)访问Kubernetes内部DNS服务器。
所有的东西都可以很好地进行播客间的通信,但是现在我有一个用例,我需要一个非docker/k8s应用程序来访问kubernetes中的服务。
因为我的应用不使用k8s内部DNS,所以我无法使用服务名称来访问它。
有没有办法告诉我的节点使用Kubernetes dns?

最佳答案

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

10-04 21:57
查看更多