CoreDns配置以及外部dns使用

CoreDNS ConfigMap选项

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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格式的指标中找到
  • proxy:任何不在Kubernetes集群域内的查询都将转发到预定义的解析器(/etc/resolv.conf)
  • cache:启用前端缓存
  • loop:检测简单的转发循环,如果找到循环则停止CoreDNS进程
  • reload:允许自动重新加载已更改的Corefile。编辑ConfigMap配置后,请等待两分钟以使更改生效
  • loadbalance:这是一个循环DNS负载均衡器,可以在答案中随机化A,AAAA和MX记录的顺序

配置外部dns

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

1
2
3
4
5
carey:53 {
errors
cache 30
proxy . 10.150.0.1
}

完整的配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器