ACK Edge集群默认采用CoreDNS作为DNS服务器,并且采用DaemonSet方式将CoreDNS部署在每个边缘节点上。本文主要介绍ACK Edge集群中CoreDNS的默认配置以及CoreDNS扩展配置中如何自定义配置Hosts。
CoreDNS配置入口
在kube-system
命名空间下的coredns
配置项主要用于管理和配置CoreDNS服务,配置项操作入口如下:
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在配置项页面顶部设置命名空间为kube-system,搜索coredns配置项,单击coredns右侧操作列下的YAML 编辑,查看或自定义CoreDNS配置信息。
CoreDNS默认配置
不同CoreDNS版本的配置项略有差异,以下是ACK Edge集群中,1.11版本CoreDNS的默认配置。
.:53 {
errors
health {
lameduck 15s
}
hosts /etc/edge/tunnel-nodes {
reload 300ms
fallthrough
}
ready
kubeapi
k8s_event {
level info error warning
}
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods disabled
ttl 30
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
forward . /etc/resolv.conf {
prefer_udp
}
cache 30
log
loop
reload
loadbalance
}
关键参数说明如下:
参数 | 描述 |
参数 | 描述 |
| 错误信息到标准输出。 |
| CoreDNS自身健康状态报告,默认监听端口8080,一般用来做健康检查。您可以通过 |
| CoreDNS Hosts插件,指定域名与地址的映射关系。 ACK Edge集群占用了此处默认域的Hosts配置,请勿在此处添加额外配置。如有Hosts配置需求,请参见下文Hosts自定义配置。 |
| CoreDNS插件状态报告,默认监听端口8181,一般用来做可读性检查。可以通过 |
| CoreDNS Kubernetes插件,提供集群内服务解析能力。 |
| CoreDNS自身metrics数据接口。可以通过 |
| 将域名查询请求转到预定义的DNS服务器。默认配置中,当域名不在Kubernetes域时,将请求转发到预定义的解析器(/etc/resolv.conf)中。默认使用宿主机的/etc/resolv.conf配置。 |
| DNS缓存。 |
| 环路检测,如果检测到环路,则停止CoreDNS。 |
| 允许自动重新加载已更改的Corefile。编辑ConfigMap配置后,请等待两分钟以使更改生效。 |
| 循环DNS负载均衡器,可以在答案中随机A、AAAA、MX记录的顺序。 |
Hosts自定义配置
如果您需要为特定域名指定Hosts,例如为www.hello.example.com
指定IP为127.0.0.1
,您可以使用Hosts插件进行配置,修改配置前请仔细阅读CoreDNS官方文档。
由于ACK Edge集群占用了默认域的Hosts配置,您需要新建一个域,例如 example.com:53
表示匹配后缀为example.com
的域名,然后在新建的域名中配置Hosts www.hello.example.com
和地址127.0.0.1
。
配置示例
.:53 {
errors
health {
lameduck 15s
}
hosts /etc/edge/tunnel-nodes {
reload 300ms
fallthrough
}
ready
kubeapi
k8s_event {
level info error warning
}
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods disabled
ttl 30
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
forward . /etc/resolv.conf {
prefer_udp
}
cache 30
log
loop
reload
loadbalance
}
example.com:53 { # 新增域名。
errors
hosts {
127.0.0.1 www.hello.example.com # 域名解析。
fallthrough
}
cache 30
forward . /etc/resolv.conf {
prefer_udp
}
}
更多CoreDNS配置,请参见CoreDNS配置说明。
相关文档
关于CoreDNS升级,请参见CoreDNS自动升级、CoreDNS手动升级。
如需分析和监控CoreDNS日志,请参见分析和监控CoreDNS日志。
- 本页导读 (1)
- CoreDNS配置入口
- CoreDNS默认配置
- Hosts自定义配置
- 配置示例
- 相关文档