Kubernetes-19:Prometheus-operator集群监控神器
Prometheus-operator集群监控 ?
具体的Prometheus是什么,为什么要用,什么时候用,还请移步本人其他随笔详细查看:https://www.cnblogs.com/v-fan/p/14057366.html ? Prometheus-operator又是什么呢? Prometheus-operator是专门用来监控k8s集群,并实现了一些自身特有的的自动化配置及管理,总得来说,就是使监控k8s集群更简单,更方便,由CoreOS率先引入其概念。 如下所示,是Prometheus Operator的架构示意图: ? ? Prometheus Operator能做什么? 要了解Prometheus Operator能做什么,其实就是要了解Prometheus Operator为我们提供了哪些自定义的Kubernetes资源,列出了Prometheus Operator目前提供的?4类资源:
简单说,Prometheus Operator能够帮助用户自动化的创建以及管理Prometheus Server以及其相应的配置。 ? 一、克隆项目到本地,进行服务构建 1、克隆 注意版本问题!!!页面明确指出分支所支持的kubernetes版本!!! ? [root@Centos8 prome-git]# git clone https://github.com/prometheus-operator/kube-prometheus/tree/release-0.3
正克隆到 'kube-prometheus'...
remote: Enumerating objects: 9291,done.
remote: Total 9291 (delta 0),reused 0 (delta 9291
接收对象中: 100% (9291/9291),5.09 MiB | 1.04 MiB/s,完成.
处理 delta 中: 5692/5692),完成.
? 2、主要配置进行修改 cd kube-prometheus/manifests
## 主要的服务构建yaml文件全部在这里了
## 需要注意的是,要将:
Grafana-service.yaml
prometheus-service.yaml
alertmanager-service.yaml
## 三个svc的访问方式修改为NodePort模式,方便集群外的服务访问
? vim grafana-service.yaml apiVersion: v1
kind: Service
metadata:
labels:
app: grafana
name: grafana
namespace: monitoring
spec:
type: NodePort
ports:
- name: http
port: 3000
nodePort: 30201
targetPort: http
selector:
app: grafana
vim prometheus-service.yaml ... vim alertmanager-service.yaml ... ? 3、可以提前将要使用的镜像pull下来,使启动时更快 cd kube-prometheus/manifests ? 4、开始创建yaml ## 先创建setup目录下的所有yaml,因为这是manifests/下yaml的基础
## setup中的yaml主要创建了自定义的namespace和crd(CustomResourceDefinition;自定义kind类型及api组和版本)
kubectl create -f manifests/setup
## 上一步执行成功后,可以查看自定义crd是否创建成功
[root@Centos8 manifests]# kubectl get crd
NAME CREATED AT
alertmanagers.monitoring.coreos.com 2020-11-10T08:19:16Z
podmonitors.monitoring.coreos.com :17Z
prometheuses.monitoring.coreos.com :17Z
prometheusrules.monitoring.coreos.com :18Z
servicemonitors.monitoring.coreos.com :18Z
## 查看自定义的kind:servicemonitors 创建是否成功
until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo "";
## 开始创建Prometheus-operator资源
kubectl create -f manifests/
? 5、检查是否启动完毕 kubectl get all -n monitoring
? 二、以上服务构建完成,通过grafana访问prome 1、访问prome:http://hub.vfancloud.com:30202 ? ? 2、访问grafana:http://hub.vfancloud.com:30201 ? 默认账号密码:admin/admin ? ? 具体资源的使用情况可以点进模板自行查看: ? 需要注意:此搭建全部是引用了Prometheus-operator的默认监控配置,如果有自定义需求,完全可以自己修改yaml文件中的values等信息;设置告警途径等。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |