dns - 将名称服务器添加到 Kubernetes

标签 dns kubernetes

我在使用 kube-up.sh 部署的 AWS 上使用 Kubernetes v1.0.6 .
集群正在使用 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

哪个工作正常。
$ 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

这是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

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

我有一个基于辅助 DNS 的服务发现(假设是 192.168.0.1),我希望我的 kubernetes 容器能够用于 dns 解析。

附言。 kubernetes 1.1 解决方案也是可以接受的:)

非常感谢您,
乔治

最佳答案

我最终设法通过配置 SkyDNS 来添加一个额外的名称服务器很容易地解决了这个问题,你只需添加环境变量 SKYDNS_NAMESERVERSSkyDNS docs 中所定义在您的 SkyDNS 复制 Controller 中。它的影响很小,并且不依赖于节点更改等。

    env:
    - name: SKYDNS_NAMESERVERS
      value: 10.0.0.254:53,10.0.64.254:53

关于dns - 将名称服务器添加到 Kubernetes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33260745/

相关文章:

python - 如何在网站上的域名前添加一个词?

docker - 使用 https 访问 Docker 私有(private)注册表

mysql - 使用具有 mysql 和 minikube 的本地 docker 镜像

kubernetes - 获取 Pod 处于挂起状态的平均时间

networking - kubernetes中节点如何获取子网?

kubernetes - 如何将kubernetes 1.10.4更新到1.11

heroku - Heroku 上的自定义根域

ssl - Nginx 重定向 http ://www and naked http/https to https://www

iis - 通过 IIS Express 使用自定义端口和域名

azure - 如何在 Azure dns 服务中配置 DNS PTR 记录...?