mirror of
https://github.com/optim-enterprises-bv/homelab.git
synced 2025-10-29 00:52:22 +00:00
feat(monitoring): install kube-prometheus-stack
This commit is contained in:
@@ -6,11 +6,14 @@ metadata:
|
||||
spec:
|
||||
sourceRepos:
|
||||
- 'https://github.com/vehagn/homelab'
|
||||
- 'https://prometheus-community.github.io/helm-charts'
|
||||
destinations:
|
||||
- namespace: 'argocd'
|
||||
server: '*'
|
||||
- namespace: 'kube-system'
|
||||
server: '*'
|
||||
- namespace: 'monitoring'
|
||||
server: '*'
|
||||
clusterResourceWhitelist:
|
||||
- group: '*'
|
||||
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"
|
||||
size = "12G"
|
||||
}
|
||||
pv-prometheus = {
|
||||
node = "abel"
|
||||
size = "10G"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user