From 7f9140f1b4f0f712c4d8f34258a625f1340da6a9 Mon Sep 17 00:00:00 2001
From: Patrick Spek
Date: Wed, 29 Jan 2025 14:50:28 +0100
Subject: Use a Prometheus without NFS volumes
---
data.d/k3s-master/src-tf/prometheus.tf | 59 ++++++++++++++++++++++++++++++++--
1 file changed, 57 insertions(+), 2 deletions(-)
diff --git a/data.d/k3s-master/src-tf/prometheus.tf b/data.d/k3s-master/src-tf/prometheus.tf
index 9ece7e4..0714aca 100644
--- a/data.d/k3s-master/src-tf/prometheus.tf
+++ b/data.d/k3s-master/src-tf/prometheus.tf
@@ -17,7 +17,7 @@ resource "helm_release" "prometheus" {
ingress:
enabled: false
prometheusSpec:
- replicas: 2
+ replicas: 1
retention: 1y
retentionSize: 50GiB
scrapeInterval: "15s"
@@ -27,6 +27,8 @@ resource "helm_release" "prometheus" {
memory: 6Gi
limits:
memory: 6Gi
+ nodeSelector:
+ kubernetes.io/hostname: nouki.tyil.net
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
@@ -81,12 +83,65 @@ resource "helm_release" "prometheus" {
storageSpec:
volumeClaimTemplate:
spec:
- storageClassName: ${kubernetes_storage_class_v1.nfs["nouki"].metadata[0].name}
+ storageClassName: ""
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 50Gi
+ selector:
+ matchLabels:
+ app.kubernetes.io/created-by: "tyil"
+ app.kubernetes.io/managed-by: "opentofu"
+ app.kubernetes.io/name: "prometheus"
+ app.kubernetes.io/part-of: "base-system"
EOF
]
}
+
+resource "kubernetes_persistent_volume" "prometheus" {
+ metadata {
+ name = "prometheus"
+ labels = local.prometheus_labels
+ }
+
+ spec {
+ access_modes = [
+ "ReadWriteOnce",
+ ]
+
+ capacity = {
+ storage = "50Gi"
+ }
+
+ node_affinity {
+ required {
+ node_selector_term {
+ match_expressions {
+ key = "kubernetes.io/hostname"
+ operator = "In"
+ values = [
+ "nouki.tyil.net",
+ ]
+ }
+ }
+ }
+ }
+
+ persistent_volume_source {
+ host_path {
+ path = "/var/lib/prometheus"
+ type = "Directory"
+ }
+ }
+ }
+}
+
+locals {
+ prometheus_labels = {
+ "app.kubernetes.io/created-by" = "tyil"
+ "app.kubernetes.io/managed-by" = "opentofu"
+ "app.kubernetes.io/name" = "prometheus"
+ "app.kubernetes.io/part-of" = "base-system"
+ }
+}
--
cgit v1.2.3