云容器实例 CCI-插件管理:为CoreDNS配置日志输出选项
为CoreDNS配置日志输出选项
CoreDNS使用log插件将 域名 解析日志打印到标准输出,可通过配置日志输出选项灵活定义输出的日志内容,可在 AOM 中查看解析日志。在域名解析请求量较大的业务场景下,频繁打印域名解析日志到标准输出可能会对CoreDNS的性能造成明显的影响。
对应的后端配置格式如下:
log [NAMES...] [FORMAT] { class CLASSES... }
CLASSES表示应记录的响应类别,是一个以空格分隔的列表。
日志输出选项配置具体含义如下:
- 输出解析成功日志:
勾选后将在log插件CLASSES中添加success响应参数,CoreDNS会将解析成功的日志打印到标准输出。
- 输出解析失败日志:
勾选后将在log插件CLASSES中添加denial响应参数, CoreDNS会将解析失败的日志,例如NXDOMAIN或nodata响应(名称存在,类型不存在)打印到标准输出。
- 输出解析错误日志:
勾选后将在log插件CLASSES中添加error响应参数,CoreDNS会将解析错误的日志打印到标准输出,例如SERVFAIL、NOTIMP、REFUSED等任何表示远程服务器不解析的请求消息,便于及时发现DNS服务器不可用等问题。
- 全不勾选:
如果未选中上述任一配置,则将关闭日志插件。
关闭日志插件仅影响CoreDNS的解析记录,而CoreDNS服务进程的日志记录依然会显示,不过该部分日志量极小,对性能无影响。
log . { class success denial }
创建成功的CoreDNS对应的ConfigMap如下:
apiVersion: v1 data: Corefile: |- .:5353 { cache 30 errors log . { classes success denial } health kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure upstream /etc/resolv.conf fallthrough in-addr.arpa ip6.arpa } loadbalance round_robin prometheus 0.0.0.0:9153 proxy . /etc/resolv.conf reload } kind: ConfigMap metadata: name: coredns namespace: kube-system