您的位置:首页 > 其它

Pod中访问外部的域名配置

2018-01-02 14:44 417 查看
在实际应用中经常遇到Pod中访问外部域名的状况,在Kubenetes 1.6以上的版本通过配置DNS configmap已经解决,详细的内容可以参考官方的
https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/
如果没有太多时间的化,可以参考下面这个图



简单来说在dnsPolicy是ClusterFirst的情况下,如果是default是采用的宿主机的/etc/resolve.conf中内容

可以基于域名比如acme.local指定dns server,如果集群内部以及域名都找不到,可以配置upstream DNS进行解析。

语句为

apiVersion: v1
kind: ConfigMap
metadata:
name: kube-dns
namespace: kube-system
data:
stubDomains: |
{"acme.local": ["1.2.3.4"]}
upstreamNameservers: |
["8.8.8.8", "8.8.4.4"]


acme.local可以支持DNS的主备配置。

需要指出的是集群配置dns后本身就有kube-dns的configmap,所以创建的时候采用

kubectl replace -f dns.yaml


Pod和Deployment等应用不需要任何改变。新建这些Pod和Deployment后生效
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: