问题背景
客户业务pod运行在内网,无法访问外网,对于一些应用,需要访问企业微信,淘宝等外部api接口时,采用代理的方式,即配置pod要访问的外部域名解析为内部代理服务器的ip,如配置api.weixin.qq.com,pod请求访问此域名时,dns解析为内部代理服务器ip-10.xxx.xx.xx,即需要自定义域名解析,经调研,有如下方式:
1.客户存在内网dns,且该内网dns可以解析用户需要的域名。这种情况只需要确保coredns所在的宿主机的/etc/resolv.conf中配了该dns即可。
2.使用kubernetes原生的hostalias功能,对于每个pod额外配置dns记录(https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/)
|
3使用coredns来做集群内全局的记录增加
3.1用file插件(单独配置a记录用,也可以做转发但配置不直观,这里不写了)
首先修改coredns的configmap,kubectl -n kube-system edit cm coredns
默认情况下如下
|