kube-prometheus 优点
-
一键化部署k8s-prometheus中的所有组件
-
复杂的k8s采集自动生成
-
内置了很多alert和record rule,专业的promql,不用我们自己写了
-
自定义指标的接入可以由业务方自行配置,无需监控管理员介入
安装部署 kube-prometheus
根据k8s集群版本选择kube-prometheus 版本
下载kube-prometheus 源码
git clone https://github.com/prometheus-operator/kube-prometheus.git
-
根据k8s集群版本切换到指定的分支
git checkout -b release-0.8 remotes/origin/release-0.11
创建命名空间和CRD
-
执行命令
-
kubectl create -f manifests/setup
解读 setup做了什么
-
01 创建命名空间 monitoring
-
02 创建鉴权相关
-
03 创建prometheus-operator的deployment
-
04 创建所需的CRD
创建授权信息和手动直接创建prometheus授权是一样的
-
创建clusterrole 和 clusterrolebinding并赋给serviceaccount
-
clusterrole
-
clusterrolebinding
-
serviceaccount
创建名为prometheus-operator 的serviceaccount
-
manifests\setup\prometheus-operator-serviceAccount.yaml
创建名为prometheus-operator 的clusterrole
-
manifests\setup\prometheus-operator-clusterRole.yaml
-
apiGroups=monitoring.coreos.com 能够操作几乎所有的资源,verbs=*代表没限制
- apiGroups:
- monitoring.coreos.com
resources:
- alertmanagers
- alertmanagers/finalizers
- alertmanagerconfigs
- prometheuses
- prometheuses/finalizers
- thanosrulers
- thanosrulers/finalizers
- servicemonitors
- podmonitors
- probes
- prometheusrules
verbs:
- '*'