summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Spek <p.spek@tyil.nl>2025-01-29 14:50:28 +0100
committerPatrick Spek <p.spek@tyil.nl>2025-01-29 14:50:28 +0100
commit7f9140f1b4f0f712c4d8f34258a625f1340da6a9 (patch)
tree493a692f7521dd9bc40329c017a228308b4cf311
parentc827f3f0a65f02d9a4b0d6416cfe6c2cbeea06f0 (diff)
downloadtyilnet-7f9140f1b4f0f712c4d8f34258a625f1340da6a9.tar.gz
tyilnet-7f9140f1b4f0f712c4d8f34258a625f1340da6a9.tar.bz2
Use a Prometheus without NFS volumes
-rw-r--r--data.d/k3s-master/src-tf/prometheus.tf59
1 files 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"
+ }
+}