文章目录
前言
在某些不能上网的封闭环境中,有时候需要通过代理访问增加公司外网的harbor仓库,但是部署环境中的机器并没有对应的域名解析,有些时候可以通过将域名解析写在机器的/etc/hosts文件中,但是万一将来k8s集群扩容,然后又忘了在新加入的机器的/etc/hosts文件中写域名映射,在生产上容器产生问题。所以我们通过在k8s的coreDNS中手工增加一条映射解决问题,将来k8s就算机器扩容也不用担心忘记在新机器的/etc/hosts上写域名映射
在生产中,我们使用rancher部署,通过在rancher 上操作就可以修改coreDNS配置,然后重启相关coreDNS服务即可。
一、修改coreDNS配置
建议将下图红框中配置拷贝出来,在记事本或者Nodepad++ 上修改,再粘贴进来,不然格式容易弄错。
完整配置如下
.:53 {
errors
health
ready
kubernetes cluster.local. in-addr.arpa ip6.arpa {
pods insecure
fallthrough in-addr.arpa ip6.arpa
}
hosts {
192.168.1.122 sample1.xx.com
192.168.1.123 sample2.xx.com
fallthrough
}
prometheus :9153
forward . /etc/resolv.conf
cache 30
loop
reload
loadbalance
}
二、重启相关coreDNS服务,使其生效
然后在进入对应你项目找个pod进入,控制台试下ping 对应域名是否连通