写点什么

Kubernetes 集群监控

作者:Rayzh
  • 2022 年 1 月 03 日
  • 本文字数:810 字

    阅读完需:约 3 分钟

Kubernetes集群监控

一、监控方案概述

​ 目前 Kubernetes 的常用监控方案是 Prometheus+Grafana 的方式。部署方法使用的是使用 operator,可以直接通过 helm 命令直接部署。


什么是 Operator


Operator 模式 | Kubernetes


​ 简单的说,Operator 是基于 Kubernetes 环境做的一个扩展。这个扩展相当于把某个环境需要的所有依赖全部打包,部署到 Kubernetes 环境中。常见的如 Prometheus Operator、InfluxDB Operator 等都是开源可以直接使用,如果需要自己做拓展,需要自己编写代码。


​ Prometheus 是云原生环境下最常用的监控工具。监控数据由 exporter 搜集,通过 prometheus 采集,写入到本地/远端数据库中,然后使用 Grafna 作为 UI 展示。考虑到存储数据的量级,一般都选择远端 InfluxDB 存储。更多 Prometheus 的监控内容可以参考 Prometheus 官网介绍。

二、Prometheus operator 部署

​ 对于是 Kubernetes v1.20.x 之前的版本,请查看 Kubernetes compatibility matrix 获取支持的版本。

1,获取 kube-prometheus

git clone https://github.com/prometheus-operator/kube-prometheus.git
复制代码


如果克隆不行可以下载 zip 包:


github.com/prometheus-operator/kube-prometheus/archive/main.zip

2,部署

# 先创建namespce 和 CRDs。和部署kube-prometheuskubectl create -f manifests/setup -f manifests
# 删除kubectl delete --ignore-not-found=true -f manifests/ -f manifests/setup
复制代码


查看是否创建 namespace 和 CRDs


until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done
复制代码



查看部署是否正常:




安装完后,找了个 grafana 模板。



三、其他监控

​ 上面提到的监控更多的是,集群的资源的基础监控。实际上生产集群在整个运行过程中,还增加了对 ETCD 集群的监控(如读写指标)、集群 Master 监控(多 master)、外部存储监控等。另外 kube-dashbord 页面也是可以看到 CRD 资源的状态。监控涉及的内容需要根据需求而定,这里不做细节上的描述,prometheus 监控方法可以参考我之前的文章。

发布于: 56 分钟前
用户头像

Rayzh

关注

还未添加个人签名 2018.11.13 加入

仅仅是个做运维的...

评论

发布
暂无评论
Kubernetes集群监控