前言

在某些不能上网的封闭环境中,有时候需要通过代理访问增加公司外网的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 对应域名是否连通

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐