快捷导航

抛问题-如何在 CoreDNS 配置文件添加访问日志?

1
回复
3996
查看
[复制链接]

7

主题

9

帖子

48

积分

新手上路

Rank: 1

积分
48
发表于 2022-7-9 11:45:31 | 显示全部楼层 |阅读模式
啥也不说了 直接抛出问题:如何在 CoreDNS 配置文件添加访问日志?面试题一枚
回复

使用道具 举报

5

主题

46

帖子

214

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
214
发表于 2022-7-9 11:54:06 | 显示全部楼层
CoreDNS 配置文件是 Corefile,通过添加 log 插件可以打印访问日志,而 Corefile 是保存在 ConfigMap 中。

  1. $kubectl edit configmap -nkube-system coredns
复制代码
修改如下 ConfigMap,添加 log
  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4.   name: coredns
  5.   namespace: kube-system
  6. data:
  7.   Corefile: |
  8.     .:53 {
  9.         log
  10.         errors
  11.         health
  12.         kubernetes cluster.local in-addr.arpa ip6.arpa {
  13.           pods insecure
  14.           upstream
  15.           fallthrough in-addr.arpa ip6.arpa
  16.         }
  17.         prometheus :9153
  18.         forward . /etc/resolv.conf
  19.         cache 30
  20.         loop
  21.         reload
  22.         loadbalance
  23.     }   
复制代码
ConfigMap 保存后需要等待 1 到 2 分钟生效到 CoreDNS 的 Pod 中。如果配置生效,则 CoreDNS 将在日志看到:
  1. .:53
  2. [INFO] plugin/reload: Running configuration MD5 = db32ca3650231d74073ff4cf814959a7
  3. [INFO] Reloading complete
复制代码


在应用 Pod 中测试目标地址的连通性:
  1. #查询目标地址
  2. $kubectl get svc |grep datachannel
  3. datatest                               ClusterIP   10.96.0.37    <none>        8080/TCP                                         29d

  4. #测试连通性
  5. $kubectl exec -it deployment-flink-jobmanager-c695cf9d-rgtbh -- curl -vi datatest:8080
  6. *   Trying 10.96.0.37:8080...
  7. * Connected to datachannel (10.96.0.37) port 8092 (#0)
  8. > GET / HTTP/1.1
  9. > Host: datachannel:8080
  10. > User-Agent: curl/7.69.1
  11. > Accept: */*
  12. >
  13. * Mark bundle as not supporting multiuse
  14. < HTTP/1.1 400
  15. HTTP/1.1 400
  16. < Content-Type: text/plain;charset=UTF-8
  17. Content-Type: text/plain;charset=UTF-8
  18. < Connection: close
  19. Connection: close

  20. <
  21. Bad Request
  22. This combination of host and port requires TLS.
  23. * Closing connection 0

  24. #DNS的关键日志
  25. kubectl logs -nkube-system coredns-659f5bbffd-rfr79 |grep datatest
  26. [INFO] 10.244.2.252:36293 - 17111 "AAAA IN datatest.default.svc.cluster.local. udp 51 false 512" NOERROR qr,aa,rd 144 0.000184943s
  27. [INFO] 10.244.2.252:36293 - 32461 "A IN datatest.default.svc.cluster.local. udp 51 false 512" NOERROR qr,aa,rd 100 0.000144745s
复制代码

答案一枚

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

信息推荐

更多+

最新信息

更多+

峻熙闪答-公众号

官方微信

联系我们:

15131265091

公司地址:河北省保定市竞秀区

Email:1547462309@qq.com

冀ICP备17015524号-1 &技术支持:峻熙闪答