×

Prometheus监控CoreDNS

hqy hqy 发表于2026-03-24 23:07:28 浏览5 评论0

抢沙发发表评论

Grafana监控面板文件
价格:免费
    文件格式Json
    使用说明Grafana导入Json文件
    最近更新2024年02月25日
    AI 文章摘要时光AI(本站开发)
    CoreDNS是K8s中域名解析的主流方案,它在集群内部提供域名解析服务。CoreDNS的默认部署会自动创建一个Service,用于业务Pod内的域名解析。CoreDNS还提供了metrics接口,需要通过新建一个Service来暴露CoreDNS的端口。对于监控来说,kube-prometheus服务提供了CoreDNS的Service,通过serviceMonitor来监控CoreDNS的Service。 要使Prometheus收集CoreDNS的监控数据,需要以Secret方式挂载到Prometheus服务中。Secret资源的创建成功后,需要通过Prometheus配置来实现。检查Prometheus Targets是核心步骤之一,用于确保Prometheus收集了数据。 最后,Grafana监控面板可以使用Prometheus收集的数据来展示CoreDNS的监控信息。通过Grafana,可以更好地了解CoreDNS的性能和数据,提供更好的监控和管理能力。

    一、监控方案说明


    K8s中的域文章来源(Source):浅时光博客名解析的主流方案是CoreDNS,部署完成K8s集群之后,我们都会部署CoreDNS服务实现集群内部域名解析访问,而且CoreDNS有默认提供监控metrics的接口,这里我们prometheus的用的是kube-prometheus,通过serviceMontor来监控CoreDNS的Service。

    二、创建监控接原文链接:https://dqzboy.com口SVC


    默认部署的coredns,会自动创建一个kube-dns的Service,业务pod内就是通过访问这个Service来用coredns进行域名的解析。CoreDNS默认用9153端口提供了metrics接口,因此我们还需要新建一个Service,用来暴露CoreDNS的9153端口。

    [root@k8s-master1 coredns]# vim coredns-svc.yamlapiVersion: v1kind: Servicemetadata:name: coredns-metricsnamespace: kube-systemlabels:app: cordns  spec:ports:- name: croedns-metricsport: 9153protocol: TCPtargetPort: 9153selector:k8s-app: kube-dnssessionAffinity: Nonetype: ClusterIP[root@k8s-master1 coredns]# kubectl apply -f coredns-svc.yaml[root@k8s-master1 coredns]# kubectl get svc -n kube-system

    三、配置Prometheus采集监控数据


    [root@k8s-master1 discovery]# vim prometheus-additional-configs.yamlapiVersion: v1kind: Secretmetadata:name: additional-scrape-configsnamespace: monitoringtype: OpaquestringData:additional-scrape-configs.yaml: |……- job_name: coredns-metricshonor_labels: truehonor_timestamps: truescrape_interval: 15smetrics_path: /metricsscheme: httpkubernetes_sd_configs:- role: endpointsnamespaces:names:- kube-systemrelabel_configs:- source_labels: [__config_type]separator: ;regex: servicetarget_label: __config_typereplacement: $1action: replace- source_labels: [__meta_kubernetes_endpoint_port_name]separator: ;regex: 9153-9153-tcpreplacement: $1action: keep- source_labels: [__meta_kubernetes_service_name]separator: ;regex: coredns-metricsreplacement: $1action: keep- source_labels: [__meta_kubernetes_pod_node_name]separator: ;regex: (.*)target_label: nodereplacement: $1action: replace- source_labels: [__meta_kubernetes_namespace]separator: ;regex: (.*)target_label: namespacereplacement: $1action: replace- source_labels: [__meta_kubernetes_service_name]separator: ;regex: (.*)target_label: servicereplacement: $1action: replace- source_labels: [__meta_kubernetes_pod_name]separator: ;regex: (.*)target_label: podreplacement: $1action: replace- source_labels: [__meta_kubernetes_endpoint_port_name]separator: ;regex: (.*)target_label: endpointreplacement: $1action: replace

    说明:Secret资源创建成功之后,我们要以Secret的方式挂载到Pormetheus服务中去,不然不生效!

    四、检查Prometheus Targets


    五、添加Grafan监控面板



    打赏

    本文链接:https://www.kinber.cn/post/6351.html 转载需授权!

    分享到:


    推荐本站淘宝优惠价购买喜欢的宝贝:

    image.png

     您阅读本篇文章共花了: 

    群贤毕至

    访客