CoreDns配置以及外部dns使用

CoreDns配置以及外部dns使用

CoreDNS ConfigMap选项

先来看看默认的CoreDns的配置文件

Corefile: |
  .:53 {
      errors
      health
      kubernetes cluster.local in-addr.arpa ip6.arpa {
         pods insecure
         upstream
         fallthrough in-addr.arpa ip6.arpa
      }
      prometheus :9153
      forward . /etc/resolv.conf
      cache 30
      loop
      reload
      loadbalance
  }

解析如下:

  • error: 错误记录到stdout
  • health:CoreDNS的运行状况报告为http:// localhost:8080 / health
  • kubernetes:CoreDNS将根据Kubernetes服务和pod的IP回复DNS查询
  • prometheus:CoreDNS的度量标准可以在http://localhost:9153/Prometheus格式的指标中找到;可以通过http://localhost:9153/metrics获取prometheus格式的监控数据
  • proxy:任何不在Kubernetes集群域内的查询都将转发到预定义的解析器(/etc/resolv.conf);本地无法解析后,向上级地址进行查询,默认使用宿主机的 /etc/resolv.conf 配置
  • cache:启用前端缓存
  • loop:检测简单的转发循环,如果找到循环则停止CoreDNS进程
  • reload:允许自动重新加载已更改的Corefile。编辑ConfigMap配置后,请等待两分钟以使更改生效
  • loadbalance:这是一个循环DNS负载均衡器,可以在答案中随机化A,AAAA和MX记录的顺序

如何配置外部dns

有些服务不在kubernetes内部,在内部环境内需要通过dns去访问,名称后缀为carey.com

carey:53 {
        errors
        cache 30
        proxy . 10.150.0.1
    }

完整的配置文件:

Corefile: |
  .:53 {
      errors
      health
      kubernetes cluster.local in-addr.arpa ip6.arpa {
         pods insecure
         upstream
         fallthrough in-addr.arpa ip6.arpa
      }
      prometheus :9153
      forward . /etc/resolv.conf
      cache 30
      loop
      reload
      loadbalance
  }
  carey.com:53 {
      errors
      cache 30
      proxy . 10.150.0.1
  }

参考文档:
https://kubernetes.io/docs/tasks/administer-cluster/dns-custom-nameservers/#coredns
https://carey.akhack.com/2019/05/23/CoreDns%E9%85%8D%E7%BD%AE%E4%BB%A5%E5%8F%8A%E5%A4%96%E9%83%A8dns%E4%BD%BF%E7%94%A8/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容