Coredns自定义参数
CoreDNS是Kubernetes集群中负责DNS解析的组件,能够支持解析集群内部自定义服务域名和集群外部域名。CoreDNS具备丰富的插件集,在集群层面支持自建DNS、自定义hosts、CNAME、rewrite等需求。与Kubernetes一样,CoreDNS项目由 CNCF托管。
# ConfigMap 配置 (opens new window)
apiVersion: v1
kind: ConfigMap
metadata:
name: coredns
namespace: kube-system
data:
Corefile: |
.:53 {
errors
health {
lameduck 15s
}
ready
kubeapi
k8s_event {
level info error warning
}
template IN AAAA .
kubernetes cluster.local in-addr.arpa ip6.arpa {
pods verified
ttl 30
fallthrough in-addr.arpa ip6.arpa
}
prometheus :9153
multisocket
hosts {
10.88.33.11 demo.tch.com
ttl 30
fallthrough
}
forward . /etc/resolv.conf {
prefer_udp
}
cache 30 {
servfail 0s
serve_stale 30s verify
}
log
loop
reload
loadbalance
}
xiaobujiang.com:53 {
errors
cache 30
forward . 10.13.10.101 10.13.11.101 {
policy round_robin
health_check 5s
prefer_udp
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# 配置说明
# 基础管控插件
| 插件 | 作用 |
|---|---|
errors | 启用错误日志输出到标准错误 |
health { lameduck 15s } | 健康检查,优雅终止等待 15s 再退出 |
ready | 就绪探针配置 |
kubeapi | 直连 Kubernetes API Server(阿里云ACK插件) |
k8s_event { level info error warning } | 将 CoreDNS 事件上报至 K8s Event 系统,上报 info/error/warning 级别(阿里云ACK插件) |
template IN AAAA . | 对所有域名的 AAAA (IPv6) 查询强制返回空,防止 IPv6 查询超时 |
prometheus :9153 | 暴露 Prometheus 监控指标 |
multisocket | 启用多 socket 模式,提升并发性能 |
log | 启用标准查询日志记录 |
loop | 检测并防止 DNS 循环解析 |
reload | 允许通过 SIGHUP 信号热重载配置 |
loadbalance | 对 A/AAAA 记录进行轮询负载均衡 |
# Kubernetes 插件
| 参数 | 作用 |
|---|---|
pods verified | Pod 解析模式:仅当查询的 Pod 存在且 IP 匹配时才返回结果 |
ttl 30 | 强制将 K8s 内部域名的 TTL 设为 30 秒 |
fallthrough in-addr.arpa ip6.arpa | 继续交给下一个插件处理 |
# Hosts 静态映射
| 参数 | 作用 |
|---|---|
10.88.33.11 demo.tch.com | 将 demo.tch.com 强制解析到 10.88.33.11 |
ttl 30 | 静态记录的 TTL 为 30 秒 |
fallthrough | 继续往下匹配其他插件 |
# 缓存配置
| 参数 | 作用 |
|---|---|
cache 30 | 缓存成功响应 30 秒 |
servfail 0s | 不缓存 SERVFAIL 响应,确保重试时能获取最新状态 |
serve_stale 30s verify | 容错机制:缓存过期后 30 秒内返回旧结果,同时后台异步验证更新 |
# 转发配置
| 参数 | 作用 |
|---|---|
/etc/resolv.conf | 全局转发到系统配置的上游 DNS |
prefer_udp | 优先使用 UDP 协议转发 |
# 特定域名转发 (xiaobujiang.com)
| 参数 | 作用 |
|---|---|
10.13.10.101 10.13.11.101 | 转发到指定内网 DNS 服务器 |
policy round_robin | 轮询策略 |
health_check 5s | 每 5 秒检查上游服务器状态 |
上次更新: 2026/05/31, 03:30:34