Kubernetes精选学习

kubernetes开启coredns日志

2021-12-30  本文已影响0人  ShootHzj

默认的coredns配置没有开启日志插件,这导致kubernetes集群中一些dns解析超时问题难以定位。通过kubernetes log命令查看到的结果往往是

root@iZj6chmpsf3hnh4tj2y2mgZ:~# kubectl logs coredns-64897985d-59hbn -n kube-system
.:53
[INFO] plugin/reload: Running configuration MD5 = db32ca3650231d74073ff4cf814959a7
CoreDNS-1.8.6
linux/amd64, go1.17.1, 13a9191

我们可以通过修改kubernetes的�configmap中的coredns配置来开启日志功能,默认的coredns配置如下

kubectl describe configmap coredns -n kube-system
Name:         coredns
Namespace:    kube-system
Labels:       <none>
Annotations:  <none>

Data
====
Corefile:
----
.:53 {
    errors
    health {
       lameduck 5s
    }
    ready
    kubernetes cluster.local in-addr.arpa ip6.arpa {
       pods insecure
       fallthrough in-addr.arpa ip6.arpa
       ttl 30
    }
    prometheus :9153
    forward . /etc/resolv.conf {
       max_concurrent 1000
    }
    cache 30
    loop
    reload
    loadbalance
}


BinaryData
====

添加log模块

image-20211230205435435

接下来我们再使用命令查看日志,就可以看到dns解析的记录,无需重启coredns

image-20211230205544473

还可以在log模块里添加一些配置来自定义log输出,例如

只打印错误的解析请求

. {
    log . {combined} {
        class denial error
    }
}

只打印拒绝了的,并且是example.org下的请求

. {
    log example.org {
        class denial
    }
}
上一篇 下一篇

猜你喜欢

热点阅读