github 地址: https://github.com/prometheus-operator/kube-prometheus
k8s 集群版本:1.18.6
根据k8s版本, kube-prometheus 可用版本:release-0.5
使用 local 持久数据
修改:
kube-prometheus-release-0.5/manifests/grafana-deployment.yaml
# 因为非root用户启动,使用local模式持久化数据,文件权限默认是root,需要添加fsGroup,给这个用户组授权
securityContext:
runAsNonRoot: true
runAsUser: 65534
fsGroup: 65534
----
kube-prometheus-release-0.5/manifests/prometheus-prometheus.yaml
# 使用 local 持久数据
spec:
retention: 90d
storage:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteMany
storageClassName: local-storage
resources:
requests:
storage: 30Gi
volumes 配置(ip需要修改):
mkdir volumes
cd volumes
cat > 0namespace-namespace.yaml <<EOF
apiVersion: v1
kind: Namespace
metadata:
name: monitoring
EOF
cat > 0prometheus-k8s-db-prometheus-k8s-0.yaml <<EOF
apiVersion: v1
kind: PersistentVolume
metadata:
name: prometheus-k8s-0
labels:
app: prometheus
prometheus: k8s
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 40Gi
storageClassName: local-storage
local:
path: /opt/prometheus/prometheus-k8s-0
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: "kubernetes.io/hostname"
operator: In
values:
- "10.0.0.8"
EOF
cat > grafana.yaml <<EOF
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: grafana
namespace: monitoring
spec:
accessModes:
- ReadWriteMany
storageClassName: grafana
resources:
requests:
storage: 30Gi
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: grafana
labels:
app: grafana
spec:
accessModes:
- ReadWriteMany
capacity:
storage: 40Gi
storageClassName: grafana
local:
path: /opt/prometheus/grafana
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: "kubernetes.io/hostname"
operator: