diff options
author | Aaditya Dhruv <[email protected]> | 2025-04-22 17:22:26 -0500 |
---|---|---|
committer | Aaditya Dhruv <[email protected]> | 2025-05-01 20:19:54 -0500 |
commit | 234c6dc89e1b9b64aec464f5b970715a4f536a91 (patch) | |
tree | da1bc1d827e3bac60ceb1979d681d7a8327322f6 | |
parent | bf4f13faeb9bb9030459d4e89500f5db4fd6efac (diff) |
Add monitoring role
Only prometheus is deployed, and the PV/PVC for it is accordingly
configured
-rw-r--r-- | roles/monitoring/defaults/main.yaml | 2 | ||||
-rw-r--r-- | roles/monitoring/tasks/main.yaml | 67 |
2 files changed, 69 insertions, 0 deletions
diff --git a/roles/monitoring/defaults/main.yaml b/roles/monitoring/defaults/main.yaml new file mode 100644 index 0000000..438c4dd --- /dev/null +++ b/roles/monitoring/defaults/main.yaml @@ -0,0 +1,2 @@ +nfs: + path: "/mnt/nfs/k3s/prometheus" diff --git a/roles/monitoring/tasks/main.yaml b/roles/monitoring/tasks/main.yaml index 27bec57..cb954fd 100644 --- a/roles/monitoring/tasks/main.yaml +++ b/roles/monitoring/tasks/main.yaml @@ -6,6 +6,51 @@ delegate_to: localhost run_once: true +- name: Add Prometheus PV + kubernetes.core.k8s: + state: "{%- if monitoring.enabled -%} present {%- else -%} absent {%- endif -%}" + definition: + apiVersion: v1 + kind: PersistentVolume + metadata: + name: "prometheus-pv" + labels: + app: "prometheus-pv" + spec: + storageClassName: nfs + capacity: + storage: 8Gi + accessModes: + - ReadWriteMany + nfs: + server: "{{ nfs.server }}" + path: "{{ nfs.path }}" + readOnly: false + delegate_to: localhost + run_once: true + +- name: Add Prometheus PVC + kubernetes.core.k8s: + state: "{%- if monitoring.enabled -%} present {%- else -%} absent {%- endif -%}" + definition: + apiVersion: v1 + kind: PersistentVolumeClaim + metadata: + name: prometheus-pvc + namespace: default + spec: + storageClassName: nfs + accessModes: + - ReadWriteMany + resources: + requests: + storage: 8Gi + selector: + matchLabels: + app: "prometheus-pv" + delegate_to: localhost + run_once: true + - name: Deploy prometheus kubernetes.core.helm: name: prometheus @@ -13,5 +58,27 @@ namespace: default state: "{%- if monitoring.enabled -%} present {%- else -%} absent {%- endif -%}" values: + alertmanager: + enabled: false + prometheus-pushgateway: + enabled: false + server: + ingress: + annotations: + cert-manager.io/cluster-issuer: ca-issuer + enabled: true + hosts: + - prometheus.home + tls: + - secretName: prometheus-tls + hosts: + - prometheus.home + securityContext: + runAsUser: 1000 + runAsNonRoot: true + runAsGroup: 1000 + fsGroup: 1000 + persistentVolume: + existingClaim: "prometheus-pvc" delegate_to: localhost run_once: true |