monitoring: prometheus revision hel m fluxcd release revision

This commit is contained in:
Márcio Fernandes
2026-06-21 12:25:49 +00:00
parent ab576d0fc7
commit 98eff52e03
10 changed files with 90 additions and 169 deletions
@@ -0,0 +1,19 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: prometheus
spec:
releaseName: prometheus
interval: 1m
chart:
spec:
chart: kube-prometheus-stack
version: 86.x.x
sourceRef:
kind: HelmRepository
name: prometheus
interval: 40h
valuesFrom:
- kind: Secret
name: prometheus-stack-helm-values
valuesKey: values.yaml
@@ -1,5 +1,63 @@
# Used file to testing new options and configurations # values.yaml to install only Prometheus Operator and CRDs
# Should be the laste file to be loaded
# Disable all components except the operator
defaultRules:
create: false
alertmanager:
enabled: false
grafana:
enabled: false
kubeStateMetrics:
enabled: true
nodeExporter:
enabled: true
prometheus-node-exporter:
prometheus:
monitor:
enabled: true
relabelings:
# https://github.com/dotdc/grafana-dashboards-kubernetes
- action: replace
sourceLabels: [__meta_kubernetes_pod_node_name]
targetLabel: nodename
prometheus:
enabled: false
coreDns:
enabled: false
kubeControllerManager:
enabled: false
kubeEtcd:
enabled: false
kubeProxy:
enabled: false
kubeScheduler:
enabled: false
prometheusOperator:
kubeletService:
enabled: true
enabled: true
createCustomResource: true
tls:
enabled: false
admissionWebhooks:
enabled: false
cleanupCustomResource: false
serviceMonitor:
selfMonitor: false
kubelet: kubelet:
enabled: true enabled: true
namespace: kube-system namespace: kube-system
@@ -8,13 +66,10 @@ kubelet:
enabled: true enabled: true
## Enable scraping /metrics from kubelet's service ## Enable scraping /metrics from kubelet's service
kubelet: true kubelet: true
cAdvisor: true
additionalLabels:
app.kubernetes.io/name: prometheus-kubelet # !important: selector used by agent
probesMetricRelabelings: probesMetricRelabelings:
- targetLabel: cluster - targetLabel: cluster
replacement: casa replacement: icarus
- sourceLabels: [__name__, image] - sourceLabels: [__name__, image]
separator: ; separator: ;
@@ -34,9 +89,6 @@ kubelet:
# # metrics_path is required to match upstream rules and charts # # metrics_path is required to match upstream rules and charts
cAdvisorRelabelings: cAdvisorRelabelings:
- targetLabel: cluster
replacement: casa
- action: replace - action: replace
sourceLabels: [__metrics_path__] sourceLabels: [__metrics_path__]
targetLabel: metrics_path targetLabel: metrics_path
@@ -52,10 +104,6 @@ kubelet:
# # # #
probesRelabelings: probesRelabelings:
- targetLabel: cluster
replacement: casa
- action: replace - action: replace
sourceLabels: [__metrics_path__] sourceLabels: [__metrics_path__]
targetLabel: metrics_path targetLabel: metrics_path
@@ -68,9 +116,6 @@ kubelet:
action: replace action: replace
resourceRelabelings: resourceRelabelings:
- targetLabel: cluster
replacement: casa
- action: replace - action: replace
sourceLabels: [__metrics_path__] sourceLabels: [__metrics_path__]
@@ -1,55 +0,0 @@
# values.yaml to install only Prometheus Operator and CRDs
# Disable all components except the operator
defaultRules:
create: false
alertmanager:
enabled: false
grafana:
enabled: false
kubeStateMetrics:
enabled: false
nodeExporter:
enabled: false
prometheus:
enabled: false
coreDns:
enabled: false
kubeControllerManager:
enabled: false
kubeEtcd:
enabled: false
kubeProxy:
enabled: false
kubeScheduler:
enabled: false
prometheusOperator:
enabled: true
createCustomResource: true
tls:
enabled: false
admissionWebhooks:
enabled: false
cleanupCustomResource: false
serviceMonitor:
selfMonitor: false
kubeletService:
enabled: true
# requires manual creation of service #prom-kublet-service
nodeSelector:
role: worker-node
# global:
# nodeSelector:
# dedicated: worker-node
@@ -1,36 +0,0 @@
kubeStateMetrics:
enabled: true
kube-state-metrics: # ok tested!
podLabels:
role: worker-node
nodeSelector:
role: worker-node
prometheus:
monitor:
interval: "60s"
relabelings:
- targetLabel: cluster
replacement: casa
additionalLabels:
app.kubernetes.io/name: prometheus-kube-state-metrics # !important: selector used by agent
coreDns: # ok tested!
enabled: true
serviceMonitor:
relabelings:
- targetLabel: cluster
replacement: casa
additionalLabels:
app.kubernetes.io/name: prometheus-stack-coredns # !important: selector used by agent
kubeApiServer: # ok tested!
enabled: true
serviceMonitor:
relabelings:
- targetLabel: cluster
replacement: casa
additionalLabels:
app.kubernetes.io/name: prometheus-stack-apiserver # !important: selector used by agent
@@ -1,25 +0,0 @@
# Deploy node exporter as a daemonset to all nodes
nodeExporter:
enabled: true
# job node exporter
prometheus-node-exporter:
prometheus:
monitor:
enabled: true
interval: "60s"
relabelings:
# https://github.com/dotdc/grafana-dashboards-kubernetes
- action: replace
sourceLabels: [__meta_kubernetes_pod_node_name]
targetLabel: nodename
# identification of cluster
- targetLabel: cluster
replacement: casa
# it seams to be an timestamp can not be an label!
- action: labeldrop
regex: __meta_kubernetes_endpoints_annotation_endpoints_kubernetes_io_last_change_trigger_time
@@ -1,28 +0,0 @@
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: prometheus-stack
spec:
releaseName: prometheus-stack
interval: 1m
chart:
spec:
chart: kube-prometheus-stack
version: 86.x.x
sourceRef:
kind: HelmRepository
name: prometheus-stack
interval: 40h
valuesFrom:
- kind: Secret
name: prometheus-stack-helm-values
valuesKey: 01-only-crd-and-operator.yaml
- kind: Secret
name: prometheus-stack-helm-values
valuesKey: 02-kube-metrics.yaml
- kind: Secret
name: prometheus-stack-helm-values
valuesKey: 03-node-exporter.yaml
- kind: Secret
name: prometheus-stack-helm-values
valuesKey: 04-kubelet.yaml
@@ -2,15 +2,12 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
namespace: monitoring namespace: monitoring
resources: resources:
- helm/helm-repo.yaml - helm-repo.yaml
- helm/helm-release.yaml - helm-release.yaml
- prometheus-agent.yaml - prometheus-agent.yaml
generatorOptions: generatorOptions:
disableNameSuffixHash: true disableNameSuffixHash: true
secretGenerator: secretGenerator:
- name: prometheus-stack-helm-values - name: prometheus-stack-helm-values
files: files:
- 01-only-crd-and-operator.yaml=helm/01-only-crd-and-operator.yaml - values.yaml=helm-values.yaml
- 02-kube-metrics.yaml=helm/02-kube-metrics.yaml
- 03-node-exporter.yaml=helm/03-node-exporter.yaml
- 04-kubelet.yaml=helm/04-kubelet.yaml
@@ -22,14 +22,18 @@ spec:
replicas: 1 replicas: 1
remoteWrite: remoteWrite:
- url: https://prometheus.monitoring.limbosolutions.com/api/v1/write - url: https://prometheus.monitoring.limbosolutions.com/api/v1/write
scrapeInterval: 60s writeRelabelConfigs:
- action: replace
targetLabel: cluster
replacement: casa
scrapeInterval: 2s
resources: resources:
requests: requests:
cpu: 100m cpu: 100m
memory: 128Mi memory: 128Mi
limits: limits:
cpu: 200m cpu: 200m
memory: 300Mi memory: 256Mi
serviceAccountName: prometheus-agent serviceAccountName: prometheus-agent
nodeSelector: nodeSelector:
role: worker-node role: worker-node