mirror of
https://github.com/optim-enterprises-bv/homelab.git
synced 2025-10-29 09:02:28 +00:00
feat(monitoring): install kube-prometheus-stack
This commit is contained in:
@@ -6,11 +6,14 @@ metadata:
|
|||||||
spec:
|
spec:
|
||||||
sourceRepos:
|
sourceRepos:
|
||||||
- 'https://github.com/vehagn/homelab'
|
- 'https://github.com/vehagn/homelab'
|
||||||
|
- 'https://prometheus-community.github.io/helm-charts'
|
||||||
destinations:
|
destinations:
|
||||||
- namespace: 'argocd'
|
- namespace: 'argocd'
|
||||||
server: '*'
|
server: '*'
|
||||||
- namespace: 'kube-system'
|
- namespace: 'kube-system'
|
||||||
server: '*'
|
server: '*'
|
||||||
|
- namespace: 'monitoring'
|
||||||
|
server: '*'
|
||||||
clusterResourceWhitelist:
|
clusterResourceWhitelist:
|
||||||
- group: '*'
|
- group: '*'
|
||||||
kind: '*'
|
kind: '*'
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: gateway.networking.k8s.io/v1
|
||||||
|
kind: HTTPRoute
|
||||||
|
metadata:
|
||||||
|
name: monitoring
|
||||||
|
namespace: monitoring
|
||||||
|
spec:
|
||||||
|
parentRefs:
|
||||||
|
- name: stonegarden
|
||||||
|
namespace: gateway
|
||||||
|
hostnames:
|
||||||
|
- "grafana.stonegarden.dev"
|
||||||
|
rules:
|
||||||
|
- matches:
|
||||||
|
- path:
|
||||||
|
type: PathPrefix
|
||||||
|
value: /
|
||||||
|
backendRefs:
|
||||||
|
- name: kube-prometheus-stack-grafana
|
||||||
|
port: 80
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
apiVersion: traefik.io/v1alpha1
|
||||||
|
kind: IngressRoute
|
||||||
|
metadata:
|
||||||
|
name: monitoring
|
||||||
|
namespace: monitoring
|
||||||
|
labels:
|
||||||
|
app: traefik
|
||||||
|
spec:
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
routes:
|
||||||
|
- match: Host(`prometheus.stonegarden.dev`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: kube-prometheus-stack-prometheus
|
||||||
|
port: http-web # 9090
|
||||||
|
middlewares:
|
||||||
|
- name: traefik-forward-auth
|
||||||
|
- match: Host(`grafana.stonegarden.dev`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: kube-prometheus-stack-grafana
|
||||||
|
port: http-web # 80
|
||||||
|
middlewares:
|
||||||
|
- name: traefik-forward-auth
|
||||||
|
- match: Host(`alertmanager.stonegarden.dev`)
|
||||||
|
kind: Rule
|
||||||
|
services:
|
||||||
|
- name: kube-prometheus-stack-alertmanager
|
||||||
|
port: http-web # 9093
|
||||||
|
middlewares:
|
||||||
|
- name: traefik-forward-auth
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
# Need an extra Argo CD Application here to do server side apply
|
||||||
|
# https://github.com/prometheus-community/helm-charts/issues/3345
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: kube-prometheus-stack
|
||||||
|
namespace: argocd
|
||||||
|
spec:
|
||||||
|
project: monitoring
|
||||||
|
sources:
|
||||||
|
- repoURL: https://prometheus-community.github.io/helm-charts
|
||||||
|
chart: kube-prometheus-stack
|
||||||
|
targetRevision: 61.3.2
|
||||||
|
helm:
|
||||||
|
valueFiles:
|
||||||
|
- $values/remodel/k8s/infra/monitoring/prometheus-stack/values.yaml
|
||||||
|
- repoURL: https://github.com/vehagn/homelab
|
||||||
|
targetRevision: remodel
|
||||||
|
ref: values
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: monitoring
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
prune: true
|
||||||
|
syncOptions:
|
||||||
|
- ApplyOutOfSyncOnly=true
|
||||||
|
- ServerSideApply=true
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||||
|
kind: Kustomization
|
||||||
|
|
||||||
|
resources:
|
||||||
|
- ns.yaml
|
||||||
|
- kube-prometheus-stack.yaml
|
||||||
|
- http-route.yaml
|
||||||
4
remodel/k8s/infra/monitoring/prometheus-stack/ns.yaml
Normal file
4
remodel/k8s/infra/monitoring/prometheus-stack/ns.yaml
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Namespace
|
||||||
|
metadata:
|
||||||
|
name: monitoring
|
||||||
15
remodel/k8s/infra/monitoring/prometheus-stack/values.yaml
Normal file
15
remodel/k8s/infra/monitoring/prometheus-stack/values.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
prometheus:
|
||||||
|
prometheusSpec:
|
||||||
|
storageSpec:
|
||||||
|
volumeClaimTemplate:
|
||||||
|
spec:
|
||||||
|
storageClassName: proxmox-csi
|
||||||
|
volumeName: pv-prometheus
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 10G
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: prometheus
|
||||||
@@ -133,5 +133,9 @@ module "volumes" {
|
|||||||
node = "abel"
|
node = "abel"
|
||||||
size = "12G"
|
size = "12G"
|
||||||
}
|
}
|
||||||
|
pv-prometheus = {
|
||||||
|
node = "abel"
|
||||||
|
size = "10G"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user