[ci skip] migrate Redis, Prometheus, Loki storage to iSCSI

- 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)
This commit is contained in:
Viktor Barzin 2026-03-06 20:50:55 +00:00
parent 422dadafe5
commit 100a876dfe
5 changed files with 7 additions and 71 deletions

View file

@ -14,37 +14,6 @@ resource "helm_release" "loki" {
depends_on = [kubernetes_config_map.loki_alert_rules] 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/ # https://grafana.com/docs/alloy/latest/configure/kubernetes/
resource "helm_release" "alloy" { resource "helm_release" "alloy" {
namespace = kubernetes_namespace.monitoring.metadata[0].name namespace = kubernetes_namespace.monitoring.metadata[0].name

View file

@ -53,7 +53,7 @@ singleBinary:
persistence: persistence:
enabled: true enabled: true
size: 15Gi size: 15Gi
storageClass: "" storageClass: "iscsi-truenas"
extraVolumes: extraVolumes:
- name: wal - name: wal
emptyDir: emptyDir:

View file

@ -2,51 +2,18 @@
resource "kubernetes_persistent_volume_claim" "prometheus_server_pvc" { resource "kubernetes_persistent_volume_claim" "prometheus_server_pvc" {
metadata { metadata {
name = "prometheus-iscsi-pvc" name = "prometheus-data"
namespace = kubernetes_namespace.monitoring.metadata[0].name namespace = kubernetes_namespace.monitoring.metadata[0].name
} }
spec { spec {
access_modes = ["ReadWriteOnce"] access_modes = ["ReadWriteOnce"]
storage_class_name = "iscsi-truenas"
resources { resources {
requests = { requests = {
storage = "15Gi" 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"
} }
} }

View file

@ -118,7 +118,7 @@ server:
- "storage.tsdb.wal-compression" - "storage.tsdb.wal-compression"
persistentVolume: persistentVolume:
# enabled: false # enabled: false
existingClaim: prometheus-iscsi-pvc existingClaim: prometheus-data
# storageClass: rook-cephfs # storageClass: rook-cephfs
retention: "52w" retention: "52w"
resources: resources:

View file

@ -60,7 +60,7 @@ resource "helm_release" "redis" {
master = { master = {
persistence = { persistence = {
enabled = true enabled = true
storageClass = "local-path" storageClass = "iscsi-truenas"
size = "2Gi" size = "2Gi"
} }
@ -81,7 +81,7 @@ resource "helm_release" "redis" {
persistence = { persistence = {
enabled = true enabled = true
storageClass = "local-path" storageClass = "iscsi-truenas"
size = "2Gi" size = "2Gi"
} }