From 100a876dfe0e2ded0fbe93b19b31cba69aab3ab3 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Fri, 6 Mar 2026 20:50:55 +0000 Subject: [PATCH] [ci skip] migrate Redis, Prometheus, Loki storage to iSCSI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Redis: local-path → iscsi-truenas (master + replica persistence) - Prometheus: NFS PV+PVC → dynamic iSCSI PVC (prometheus-data) - Loki: NFS PV → dynamic iSCSI via storageClass in Helm values - Deleted 2 orphaned Released iSCSI PVs (31Gi freed) --- stacks/platform/modules/monitoring/loki.tf | 31 --------------- stacks/platform/modules/monitoring/loki.yaml | 2 +- .../platform/modules/monitoring/prometheus.tf | 39 ++----------------- .../monitoring/prometheus_chart_values.tpl | 2 +- stacks/platform/modules/redis/main.tf | 4 +- 5 files changed, 7 insertions(+), 71 deletions(-) diff --git a/stacks/platform/modules/monitoring/loki.tf b/stacks/platform/modules/monitoring/loki.tf index 384e9c36..fee1dc01 100644 --- a/stacks/platform/modules/monitoring/loki.tf +++ b/stacks/platform/modules/monitoring/loki.tf @@ -14,37 +14,6 @@ resource "helm_release" "loki" { depends_on = [kubernetes_config_map.loki_alert_rules] } -resource "kubernetes_persistent_volume" "loki" { - metadata { - name = "loki" - } - spec { - capacity = { - storage = "15Gi" - } - access_modes = ["ReadWriteOnce"] - persistent_volume_source { - csi { - driver = "nfs.csi.k8s.io" - volume_handle = "loki" - volume_attributes = { - server = var.nfs_server - share = "/mnt/main/loki/loki" - } - } - } - mount_options = [ - "soft", - "timeo=30", - "retrans=3", - "actimeo=5", - ] - storage_class_name = "nfs-truenas" - persistent_volume_reclaim_policy = "Retain" - volume_mode = "Filesystem" - } -} - # https://grafana.com/docs/alloy/latest/configure/kubernetes/ resource "helm_release" "alloy" { namespace = kubernetes_namespace.monitoring.metadata[0].name diff --git a/stacks/platform/modules/monitoring/loki.yaml b/stacks/platform/modules/monitoring/loki.yaml index 53996f5a..b00cbcc1 100644 --- a/stacks/platform/modules/monitoring/loki.yaml +++ b/stacks/platform/modules/monitoring/loki.yaml @@ -53,7 +53,7 @@ singleBinary: persistence: enabled: true size: 15Gi - storageClass: "" + storageClass: "iscsi-truenas" extraVolumes: - name: wal emptyDir: diff --git a/stacks/platform/modules/monitoring/prometheus.tf b/stacks/platform/modules/monitoring/prometheus.tf index 4fbc07f1..89e6fbb7 100644 --- a/stacks/platform/modules/monitoring/prometheus.tf +++ b/stacks/platform/modules/monitoring/prometheus.tf @@ -2,51 +2,18 @@ resource "kubernetes_persistent_volume_claim" "prometheus_server_pvc" { metadata { - name = "prometheus-iscsi-pvc" + name = "prometheus-data" namespace = kubernetes_namespace.monitoring.metadata[0].name } spec { - access_modes = ["ReadWriteOnce"] + access_modes = ["ReadWriteOnce"] + storage_class_name = "iscsi-truenas" resources { requests = { storage = "15Gi" } } - # storage_class_name = "standard" - storage_class_name = "nfs-truenas" - volume_name = "prometheus-iscsi-pv" - } -} - -resource "kubernetes_persistent_volume" "prometheus_server_pvc" { - metadata { - name = "prometheus-iscsi-pv" - } - spec { - capacity = { - storage = "15Gi" - } - access_modes = ["ReadWriteOnce"] - persistent_volume_source { - csi { - driver = "nfs.csi.k8s.io" - volume_handle = "prometheus-iscsi-pv" - volume_attributes = { - server = var.nfs_server - share = "/mnt/main/prometheus" - } - } - } - mount_options = [ - "soft", - "timeo=30", - "retrans=3", - "actimeo=5", - ] - storage_class_name = "nfs-truenas" - persistent_volume_reclaim_policy = "Retain" - volume_mode = "Filesystem" } } diff --git a/stacks/platform/modules/monitoring/prometheus_chart_values.tpl b/stacks/platform/modules/monitoring/prometheus_chart_values.tpl index 71d9f38d..1c06c0ff 100755 --- a/stacks/platform/modules/monitoring/prometheus_chart_values.tpl +++ b/stacks/platform/modules/monitoring/prometheus_chart_values.tpl @@ -118,7 +118,7 @@ server: - "storage.tsdb.wal-compression" persistentVolume: # enabled: false - existingClaim: prometheus-iscsi-pvc + existingClaim: prometheus-data # storageClass: rook-cephfs retention: "52w" resources: diff --git a/stacks/platform/modules/redis/main.tf b/stacks/platform/modules/redis/main.tf index 1026c7a0..5656998a 100644 --- a/stacks/platform/modules/redis/main.tf +++ b/stacks/platform/modules/redis/main.tf @@ -60,7 +60,7 @@ resource "helm_release" "redis" { master = { persistence = { enabled = true - storageClass = "local-path" + storageClass = "iscsi-truenas" size = "2Gi" } @@ -81,7 +81,7 @@ resource "helm_release" "redis" { persistence = { enabled = true - storageClass = "local-path" + storageClass = "iscsi-truenas" size = "2Gi" }