Skip to content

Instantly share code, notes, and snippets.

@ruo91
Created February 26, 2025 14:34
Show Gist options
  • Save ruo91/1688c2931309a62c8b91bf300fa22b43 to your computer and use it in GitHub Desktop.
Save ruo91/1688c2931309a62c8b91bf300fa22b43 to your computer and use it in GitHub Desktop.
OpenShift 4.x - cluster-monitoring-config
apiVersion: v1
kind: ConfigMap
metadata:
name: cluster-monitoring-config
namespace: openshift-monitoring
data:
config.yaml: |
alertmanagerMain:
# topologySpreadConstraints
topologySpreadConstraints:
- maxSkew: 2
topologyKey: node-role.kubernetes.io/infra
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: alertmanager
#nodeSelector:
# node-role.kubernetes.io/infra: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
volumeClaimTemplate:
metadata:
name: openshift-monitoring
spec:
storageClassName: nfs-retain-provisioner
resources:
requests:
storage: 4Gi
#resources:
# limits:
# cpu: 1
# memory: 2Gi
# requests:
# cpu: 1
# memory: 2Gi
prometheusK8s:
# profile: full(default), minimal
collectionProfile: full
# topologySpreadConstraints
topologySpreadConstraints:
- maxSkew: 2
topologyKey: node-role.kubernetes.io/infra
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: prometheus
#nodeSelector:
# node-role.kubernetes.io/infra: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
volumeClaimTemplate:
spec:
storageClassName: nfs-retain-provisioner
resources:
scrapeInterval: 30s
retention: 24h
retentionSize: 120GB
requests:
storage: 200Gi
resources:
limits:
cpu: 2
memory: 8Gi
requests:
cpu: 2
memory: 8Gi
prometheusOperator:
# topologySpreadConstraints
topologySpreadConstraints:
- maxSkew: 2
topologyKey: node-role.kubernetes.io/master
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: prometheus-operator
#nodeSelector:
# node-role.kubernetes.io/master: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/master
operator: Exists
#resources:
# limits:
# cpu: 500m
# memory: 1Gi
# requests:
# cpu: 200m
# memory: 500Mi
metricsServer:
# topologySpreadConstraints
topologySpreadConstraints:
- maxSkew: 2
topologyKey: node-role.kubernetes.io/infra
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: metrics-server
#nodeSelector:
# node-role.kubernetes.io/infra: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
audit:
#profile: Metadata
profile: Request
#profile: RequestResponse
#profile: None
#resources:
# requests:
# cpu: 1
# memory: 1Gi
# limits:
# cpu: 1
# memory: 1Gi
kubeStateMetrics:
# topologySpreadConstraints
topologySpreadConstraints:
- maxSkew: 1
topologyKey: node-role.kubernetes.io/infra
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: kube-state-metrics
#nodeSelector:
# node-role.kubernetes.io/infra: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
#resources:
# limits:
# cpu: 2
# memory: 2Gi
# requests:
# cpu: 2
# memory: 2Gi
telemeterClient:
#nodeSelector:
# node-role.kubernetes.io/infra: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
#resources:
# limits:
# cpu: 100m
# memory: 64Mi
# requests:
# cpu: 100m
# memory: 64Mi
openshiftStateMetrics:
# topologySpreadConstraints
topologySpreadConstraints:
- maxSkew: 1
topologyKey: node-role.kubernetes.io/infra
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: openshift-state-metrics
#nodeSelector:
# node-role.kubernetes.io/infra: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
#resources:
# limits:
# cpu: 2
# memory: 2Gi
# requests:
# cpu: 2
# memory: 2Gi
thanosQuerier:
# topologySpreadConstraints
topologySpreadConstraints:
- maxSkew: 2
topologyKey: node-role.kubernetes.io/infra
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: thanos-query
#nodeSelector:
# node-role.kubernetes.io/infra: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
#resources:
# limits:
# cpu: 1
# memory: 1Gi
# requests:
# cpu: 1
# memory: 1Gi
nodeExporter:
#resources:
# limits:
# cpu: 250m
# memory: 150Mi
# requests:
# cpu: 250m
# memory: 150Mi
monitoringPlugin:
# topologySpreadConstraints
topologySpreadConstraints:
- maxSkew: 2
topologyKey: node-role.kubernetes.io/infra
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: monitoring-plugin
#nodeSelector:
# node-role.kubernetes.io/infra: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
#resources:
# limits:
# cpu: 500m
# memory: 1Gi
# requests:
# cpu: 200m
# memory: 500Mi
prometheusOperatorAdmissionWebhook:
# topologySpreadConstraints
topologySpreadConstraints:
- maxSkew: 2
topologyKey: node-role.kubernetes.io/infra
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/name: prometheus-operator-admission-webhook
#nodeSelector:
# node-role.kubernetes.io/infra: ""
tolerations:
- effect: NoSchedule
key: node-role.kubernetes.io/infra
operator: Exists
#resources:
# limits:
# cpu: 1
# memory: 512Mi
# requests:
# cpu: 1
# memory: 512Mi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment