2a34ea0f1429fb1bbe6e673988cbcacd.jpeg

f961e3d99a21f9bc12cf214dcf072232.gif

微信改版了,现在看到我们全凭缘分,为了不错过【全栈工程师修炼指南】重要内容及福利,大家记得按照上方步骤设置「接收文章推送」哦~

关注回复【付费此专栏】加入【SecDevOps】学习答疑群交流群!

原文连接:

Ops实践 | 企业云原生之Ingress-Nginx资源监控与可视化仪表盘此章完成K8S集群中Ingress-nginx服务的快速安装到监控指标的暴露拉取,最后使用Grafana进行可视化仪表盘的展示。通过仪表盘可以查看到各ingress控制器服务、网络IO、请求QPS以及创建ingress对象、证书等情况。icon-default.png?t=N7T8https://mp.weixin.qq.com/s/065X4uacJmQYLSax0lIh2A

0x01 K8S组件指标采集展示

Ingress-nginx 服务监控指标拉取及可视化展示

前言简述:

描述:通过前面的专栏【#云原生落地使用指南】学习,相信各位看友已经掌握了Windows/Linux服务器、K8S集群、网站服务的监控预警,此章作者继续完成K8S集群中Ingress-nginx服务的快速安装到监控指标的暴露拉取,最后同样使用Grafana进行可视化的展示。

通过 Grafana Dashboard 你可以查看到各 ingress controller 主机服务、网络IO、请求QPS等等,以及创建的 ingress 入口URL、证书等情况,当然你也可以根据模板目标自行调整修改,作者后续也会在此专栏中将实践调整所监控可视化的模板。

此文实践拉取、展示效果如下图所示:

图1.NGINX Ingress controller 监控指标采集图

a6a71733f261603578d03d08f383c4b5.png
weiyigeek.top-ingress controller服务监控指标的采集图

图2.NGINX Ingress controller Dashboard 可视化展示

129d6e9e9ff51818e9e599093927929a.png

weiyigeek.top-NGINX Ingress controller Dashboard图

最后希望大家能多支持此专栏,作者耗费了大量时间进行归纳总结,若付费此专栏的朋友需要所需资源清单,请联系作者wx哟,废话不多说,一起实践吧!

实践步骤:

Step 1.在《从零开始:新手快速在国产操作系统中搭建高可用K8S(V1.28)集群落地实践》一文中, 作者已经实践了 Ingress-nginx 入口控制器的安装部署详细步骤,此处将不再累述直接上命令了。

# 添加 ingress-nginx 仓库官方源
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

# 拉取 Chart
helm pull --version 4.7.2 ingress-nginx/ingress-nginx
tar -zxf ingress-nginx-4.7.2.tgz

# 快速安装 ingress-nginx 并为其添加监控指标
helm install  ingress-nginx ingress-nginx/ --namespace ingress-nginx \
--set controller.replicaCount=4 \
--set controller.hostNetwork=true \
--set controller.ingressClass=nginx \
--set controller.autoscaling.enabled=false \
--set controller.image.registry=registry.cn-hangzhou.aliyuncs.com \
--set controller.image.image=google_containers/nginx-ingress-controller \
--set controller.image.digest= \
--set controller.admissionWebhooks.patch.image.registry=registry.cn-hangzhou.aliyuncs.com \
--set controller.admissionWebhooks.patch.image.image=google_containers/kube-webhook-certgen \
--set controller.admissionWebhooks.patch.image.digest= \
--set controller.metrics.enabled=true \
--debug

温馨提示:此处作者原本是想直接通过--set参数为ingress-nginx服务添加prometheus.io/*注释的,但是实际下述参数虽然会添加成功,但是其格式为prometheus.io/scrape='"true"', 然而这并不是我们想要得,所以后续作者将通过patch打补丁的方式为ingress-nginx服务添加注释,这里简单说明一哈,若有能解决此问题的小伙伴欢迎评论区留言。

--set controller.metrics.service.annotations.'prometheus\.io/scrape'=\"true\" \
--set controller.metrics.service.annotations.'prometheus\.io/port'=\"10254\" \

Step 2.在ingress安装命令执行后,使用如下命令查看创建或更新的ingress-nginx应用,然后再使用 patch 命令为ingress-controller服务添加抓取注释。

$ helm list -n ingress-nginx
  # NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                   APP VERSION
  # ingress-nginx   ingress-nginx   7               2023-11-28 13:31:44.35326599 +0800 CST  deployed        ingress-nginx-4.7.2     1.8.2

# 为 ingress-nginx-controller-metrics  服务添加 Prometheus 抓取注释
$ kubectl patch services ingress-nginx-controller-metrics -n ingress-nginx --patch '{"metadata": {"annotations": {"prometheus.io/scrape": "true","prometheus.io/scheme": "http","prometheus.io/port": "10254"}}}' 

# 验证注释
$ kubectl get svc -n ingress-nginx ingress-nginx-controller-metrics -o yaml

更新后查看服务注释是否添加成功,若成功将如下图所示:

09e83cbd7f7c6fa9dee8c6899732c9de.png

weiyigeek.top-查看服务注释添加情况图

Step 3.查看验证 ingress-nginx 部署情况,以及访问 ingress-nginx-controller-metrics 接口。

原文连接:Ops实践 | 企业云原生之Ingress-Nginx资源监控与可视化仪表盘此章完成K8S集群中Ingress-nginx服务的快速安装到监控指标的暴露拉取,最后使用Grafana进行可视化仪表盘的展示。通过仪表盘可以查看到各ingress控制器服务、网络IO、请求QPS以及创建ingress对象、证书等情况。icon-default.png?t=N7T8https://mp.weixin.qq.com/s/065X4uacJmQYLSax0lIh2A

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐