环境

ocp3.11

prometheus-operator

安装ocp3.11的时候会默认安装与3.11匹配的prometheus-operator。我想使用prometheus-operator的remote write功能,但是这个默认安装的prometheus-operator不支持。

于是就开始折腾把k8s中的prometheus-operator v0.34.0给安装到ocp3.11中。

大部分yaml文件都是可以直接跑的,只有小部分yaml需要手动调整。

需要调整的yaml

说明:以下这些yaml调整以后,并不影响正常的监控告警,暂未发现由于调整yaml带来的别的问题,反正是监控告警一切可正常进行。

1. ocp的prometheus-operator默认是部署在openshift-monitoring这个ns下,因此,kube-prometheus中的yaml与namespace相关的monitoring全部替换为openshift-monitoirng

2. 修改prometheus的安全上下文

prometheus-prometheus.yaml 中的securityContext内容去掉或者注释掉:

这些2000, 1000的,在ocp中是不存在的

  securityContext: {}
    #fsGroup: 2000
    #runAsNonRoot: true
    #runAsUser: 1000

3. 修改alertmanager的安全上下文

   alertmanager-alertmanager.yaml中的securityContext内容去掉或者注释掉:

  securityContext: {}
    #fsGroup: 2000
    #runAsNonRoot: true
    #runAsUser: 1000

4. 使用VictoriaMetrics作为prometheus的remote write,因此需要替换prometheus-prometheus.yaml中的<vminsert ip>。

5. ocp3.11中要想使用hpa是需要部署heapster,因此直接使用prometheus-operator中的prometheus-adapter做调整适配。

6. 要想正确获取oc adm top pod/node 命令的值,请部署prometheus-records.yaml。

7. alertmanager使用webhook做告警配置,根据实际情况替换alertmanager.yaml中的内容。

yaml源和步骤

https://github.com/xkfen/prometheus-operator-ocp3.11

 

Logo

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

更多推荐