From 00f58a2cf67ba2491be2277aa36c8f6f546701af Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Fri, 5 Dec 2025 21:46:48 +0200 Subject: Add Grafana Loki deployment --- f3s/loki/Justfile | 12 ++++++++++ f3s/loki/README.md | 24 ++++++++++++++++++++ f3s/loki/persistent-volumes.yaml | 34 +++++++++++++++++++++++++++++ f3s/loki/values.yaml | 47 ++++++++++++++++++++++++++++++++++++++++ 4 files changed, 117 insertions(+) create mode 100644 f3s/loki/Justfile create mode 100644 f3s/loki/README.md create mode 100644 f3s/loki/persistent-volumes.yaml create mode 100644 f3s/loki/values.yaml diff --git a/f3s/loki/Justfile b/f3s/loki/Justfile new file mode 100644 index 0000000..6162880 --- /dev/null +++ b/f3s/loki/Justfile @@ -0,0 +1,12 @@ +install: + helm repo add grafana https://grafana.github.io/helm-charts || true + helm repo update + kubectl apply -f persistent-volumes.yaml + helm install loki grafana/loki --namespace monitoring -f values.yaml + +uninstall: + helm uninstall loki --namespace monitoring + kubectl delete -f persistent-volumes.yaml + +upgrade: + helm upgrade loki grafana/loki --namespace monitoring -f values.yaml diff --git a/f3s/loki/README.md b/f3s/loki/README.md new file mode 100644 index 0000000..df0ec57 --- /dev/null +++ b/f3s/loki/README.md @@ -0,0 +1,24 @@ +# Grafana Loki + +Log aggregation system for your k3s cluster. + +## Prerequisites + +Create the data directory on your host: + +```bash +sudo mkdir -p /data/nfs/k3svolumes/loki/data +sudo chown 10001:10001 /data/nfs/k3svolumes/loki/data +``` + +## Install + +```bash +just install +``` + +## Configure Grafana + +Add Loki as a data source in Grafana: +- Type: Loki +- URL: `http://loki-gateway.monitoring.svc.cluster.local` diff --git a/f3s/loki/persistent-volumes.yaml b/f3s/loki/persistent-volumes.yaml new file mode 100644 index 0000000..e4b6ab2 --- /dev/null +++ b/f3s/loki/persistent-volumes.yaml @@ -0,0 +1,34 @@ +apiVersion: v1 +kind: PersistentVolume +metadata: + name: loki-data-pv + labels: + type: local + app: loki +spec: + capacity: + storage: 10Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + hostPath: + path: /data/nfs/k3svolumes/loki/data + type: DirectoryOrCreate +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: loki-data-pvc + namespace: monitoring +spec: + storageClassName: "" + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 10Gi + selector: + matchLabels: + type: local + app: loki diff --git a/f3s/loki/values.yaml b/f3s/loki/values.yaml new file mode 100644 index 0000000..1e85bfe --- /dev/null +++ b/f3s/loki/values.yaml @@ -0,0 +1,47 @@ +deploymentMode: SingleBinary + +loki: + auth_enabled: false + commonConfig: + replication_factor: 1 + storage: + type: filesystem + schemaConfig: + configs: + - from: "2024-01-01" + store: tsdb + object_store: filesystem + schema: v13 + index: + prefix: index_ + period: 24h + +singleBinary: + replicas: 1 + persistence: + enabled: true + existingClaim: loki-data-pvc + +read: + replicas: 0 + +write: + replicas: 0 + +backend: + replicas: 0 + +gateway: + enabled: false + +chunksCache: + enabled: false + +resultsCache: + enabled: false + +lokiCanary: + enabled: false + +test: + enabled: false -- cgit v1.2.3