Ops实践 | 企业内部CoreDNS服务、集群组件kube-dns资源监控与可视化仪表盘
通过前面的专栏【#云原生落地使用指南】学习,相信各位看友已经掌握了Windows/Linux服务器、K8S集群、Ingress-nginx 组件、网站服务的监控预警,此章作者继续完成K8S集群内部kube-dns组件,以及在企业中使用CoreDNS搭建的主从DNS服务器监控指标暴露和拉取配置,最后使用Grafana进行指标的可视化的展示。通过 Grafana Dashboard 你可
微信改版了,现在看到我们全凭缘分,为了不错过【全栈工程师修炼指南】重要内容及福利,大家记得按照上方步骤设置「接收文章推送」哦~
请已【付费此专栏】的朋友加入【SecDevOps】学习答疑群交流群!
原文连接:
集群内部及独立部署CoreDNS服务监控指标拉取及可视化展示
前言简述:
通过前面的专栏【#云原生落地使用指南】学习,相信各位看友已经掌握了Windows/Linux服务器、K8S集群、Ingress-nginx 组件、网站服务的监控预警,此章作者继续完成K8S集群内部kube-dns
组件,以及在企业中使用CoreDNS搭建的主从DNS服务器监控指标暴露和拉取配置,最后使用Grafana进行指标的可视化的展示。
通过 Grafana Dashboard 你可以查看到 CoreDNS 主机服务监控、网络IO、请求响应等等,以及上游的DNS服务器和解析响应错误等情况,当然你也可以根据模板目标自行调整修改,作者后续也会在此专栏中将实践调整所监控可视化的模板。
此文实践拉取、展示效果如下图所示:
图1.集群内部 Kube-dns (CoreDNS) 监控指标采集图
图2.集群内部 CoreDNS 服务监控指标可视化仪表盘
图3.集群外部 CoreDNS 服务监控指标可视化仪表盘
温馨提示:若你的企业中需要搭建内部的DNS主从服务器可以参考作者的这两篇文章,不过作者推荐使用CoreDNS作为企业的DNS服务,因为其轻量级、配置简单、适合云原生的环境,当然你也可以选择文章中的bind9方式进行安装,文章地址如下所示:
最后希望大家能多支持此专栏,作者耗费了大量时间进行归纳总结,若付费此专栏的朋友需要所需资源清单,请联系作者wx哟!
废话不多说,一起实践吧!
操作实践
Step 1.此处作者不在介绍在Kubernetes集群中安装kube-dns
以及在集群外独立CoreDNS的安装及配置步骤了,在作者前面的专栏文章中以及详细介绍了从零开始:新手快速在国产操作系统中搭建高可用K8S(V1.28)集群落地实践,此处不在累述了。
Step 2.首先,来看看如何开启Kubernetes集群kube-dns
组件中的Metrics监控指标的暴露。
# 编辑 coredns 服务的 ConfigMap 资源管理的配置,开启 Metrics 端口监听。
kubectl edit cm -n kube-system coredns
# 查看 kube-system 名称空间中的 kube-dns 组件服务
kubectl get svc -n kube-system
# NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
# kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 78d
# 为 kube-dns 服务添加 Prometheus 抓取注释
kubectl patch services kube-dns -n kube-system --patch '{"metadata": {"annotations": {"prometheus.io/scrape": "true","prometheus.io/scheme": "http","prometheus.io/port": "9153"}}}'
Step 3.之后,在Prometheus中使用endpoints服务发现机制进行监控指标的拉取配置。
更多推荐
所有评论(0)