将名称服务器添加到kubernetes

Geo*_*dis 6 dns kubernetes

我正在使用已部署的AWS上使用Kubernetes v1.0.6 kube-up.sh.
群集正在使用kube-dns.

$ kubectl get svc kube-dns --namespace=kube-system
NAME       LABELS                                                                           SELECTOR           IP(S)       PORT(S)
kube-dns   k8s-app=kube-dns,kubernetes.io/cluster-service=true,kubernetes.io/name=KubeDNS   k8s-app=kube-dns   10.0.0.10   53/UDP
Run Code Online (Sandbox Code Playgroud)

哪个工作正常.

$ kubectl exec busybox -- nslookup kubernetes.default
Server:    10.0.0.10
Address 1: 10.0.0.10 ip-10-0-0-10.eu-west-1.compute.internal

Name:      kubernetes.default
Address 1: 10.0.0.1 ip-10-0-0-1.eu-west-1.compute.internal
Run Code Online (Sandbox Code Playgroud)

这是resolv.conf一个pod.

$ kubectl exec busybox -- cat /etc/resolv.conf
nameserver 10.0.0.10
nameserver 172.20.0.2
search default.svc.cluster.local svc.cluster.local cluster.local eu-west-1.compute.internal
Run Code Online (Sandbox Code Playgroud)

是否可以让容器使用额外的名称服务器?

我有一个基于DNS的辅助服务发现Oon让我们说192.168.0.1)我希望我的kubernetes容器能够用于dns解析.

PS.kubernetes 1.1解决方案也是可以接受的:)

非常感谢,乔治

Geo*_*dis 1

我最终通过配置 SkyDNS 添加额外的名称服务器轻松解决了这个问题,您只需添加SkyDNS 复制控制器中SkyDNS 文档SKYDNS_NAMESERVERS中定义的环境变量即可。它的影响很小,并且不依赖于节点更改等。

    env:
    - name: SKYDNS_NAMESERVERS
      value: 10.0.0.254:53,10.0.64.254:53
Run Code Online (Sandbox Code Playgroud)