Helm/Prometheus Stack/PV: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 150: Line 150:
   annotations:
   annotations:
     kubernetes.io/change-cause: 'CKI-1| Initial Deployment'
     kubernetes.io/change-cause: 'CKI-1| Initial Deployment'
kubeStateMetrics:
kubeStateMetrics:
   annotations:
   annotations:
     kubernetes.io/change-cause: 'CKI-1| Initial Deployment'
     kubernetes.io/change-cause: 'CKI-1| Initial Deployment'
prometheus:
prometheus:
   ingress:
   ingress:
     enabled: true
     enabled: true
     hosts:
     hosts:
     - prometheus.ae.shahed.shahed.biz
     - prometheus.shahed.shahed.biz
   prometheusSpec:
   prometheusSpec:
     retention: 90d
     retention: 90d
Line 178: Line 180:
     enabled: true
     enabled: true
     hosts:
     hosts:
     - alertmanager.ae.shahed.shahed.biz
     - alertmanager.shahed.shahed.biz
   annotations:
   annotations:
     kubernetes.io/change-cause: 'CKI-1| Initial Deployment'
     kubernetes.io/change-cause: 'CKI-1| Initial Deployment'
Line 186: Line 188:
     enabled: true
     enabled: true
     hosts:
     hosts:
     - grafana.ae.shahed.shahed.biz
     - grafana.shahed.shahed.biz
   annotations:
   annotations:
     kubernetes.io/change-cause: 'CKI-1| Initial Deployment'
     kubernetes.io/change-cause: 'CKI-1| Initial Deployment'
YML
YML
</syntaxhighlight>
----
<syntaxhighlight lang="bash">
kubectl -n monitoring annotate deploy prometheus-kube-state-metrics \
kubernetes.io/change-cause='CKI-1| Initial Deployment'
</syntaxhighlight>
</syntaxhighlight>
----
----
Line 235: Line 242:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
kubectl -n monitoring get secrets prometheus-grafana -o yaml|yq -r '.data."admin-password"'|base64 -d;echo
kubectl -n monitoring get secrets prometheus-grafana -o yaml|yq -r '.data."admin-password"'|base64 -d;echo
xdg-open https://www.cdn77.com/tls-test/result?domain=grafana.ae.shahed.shahed.biz
xdg-open https://www.cdn77.com/tls-test/result?domain=grafana.shahed.shahed.biz
xdg-open https://grafana.ae.shahed.shahed.biz
xdg-open https://grafana.shahed.shahed.biz
</syntaxhighlight>
</syntaxhighlight>
----
----
Line 255: Line 262:
<syntaxhighlight lang="yaml">
<syntaxhighlight lang="yaml">
---
---
Page: https://alertmanager.ae.shahed.shahed.biz
Page: https://alertmanager.shahed.shahed.biz
user: admin
user: admin
pass: sadaqah!
pass: sadaqah!
---
---
Page: https://prometheus.ae.shahed.shahed.biz
Page: https://prometheus.shahed.shahed.biz
user: admin
user: admin
pass: sadaqah!
pass: sadaqah!
---
---
Page: https://grafana.ae.shahed.shahed.biz
Page: https://grafana.shahed.shahed.biz
user: admin
user: admin
pass: sadaqah!
pass: sadaqah!
Line 370: Line 377:
* [https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack Helm » Prometheus Stack » GitHub]
* [https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack Helm » Prometheus Stack » GitHub]
* [[Helm/Prometheus Stack|Helm » Prometheus Stack]]
* [[Helm/Prometheus Stack|Helm » Prometheus Stack]]
* [[Helm/Cert Manager|Helm » Cert Manager]]
* [[Helm/Prometheus|Helm » Prometheus]]
* [[Helm/Prometheus|Helm » Prometheus]]
* [[Helm/Cert Manager|Helm » Cert Manager]]
* [[Helm/Grafana|Helm » Grafana]]
* [[Helm/Grafana|Helm » Grafana]]
* [[Helm/Sign|Helm » Sign]]
* [[Helm/Sign|Helm » Sign]]

Latest revision as of 16:22, 24 July 2025

Helm » Repo » Manage

helm repo add prometheus https://prometheus-community.github.io/helm-charts
helm repo update && helm repo list

Helm » K8s » Config

Helm » K8s » Config

export KUBECONFIG=${HOME}/.kube/eks-kubeconfig.yaml
export KUBECONFIG=${HOME}/.kube/gke-kubeconfig.yaml
export KUBECONFIG=${HOME}/.kube/lke-kubeconfig.yaml
export KUBECONFIG=${HOME}/.kube/shahed-aa-kubeconfig.yaml
export KUBECONFIG=${HOME}/.kube/shahed-ab-kubeconfig.yaml
export KUBECONFIG=${HOME}/.kube/shahed-ac-kubeconfig.yaml
export KUBECONFIG=${HOME}/.kube/shahed-ae-kubeconfig.yaml
kubectl config get-contexts
kubectl config view

Helm » K8s » Storage

Helm » K8s » Storage

cat << EXE | sudo bash
mkdir -p           /var/minikube/pvc/monitoring/data-prometheus-0/prometheus-db
chown -R 1000:2000 /var/minikube/pvc/monitoring/data-prometheus-0/prometheus-db
chmod -R   750     /var/minikube/pvc/monitoring/
EXE
cat <<'YML'| kubectl apply -f -
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: monitoring-data-prometheus-0
spec:
  capacity:
    storage: 50Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  storageClassName: hostpath
  hostPath:
    path: /var/hostpath_pv/monitoring/data-prometheus-0
    type: DirectoryOrCreate
YML



Helm » Install

Helm » Install

helm show values prometheus/kube-prometheus-stack --version=65.0.0 |less
helm show values prometheus/kube-prometheus-stack --version=75.12.0|less
kubectl create ns   monitoring
kubectl get ns|grep monitoring
cat << ENV | \
kubectl -n monitoring create secret generic prometheus-basic-auth --from-file=auth=/dev/stdin
$(htpasswd -nbB shahed 'sadaqah!')
$(htpasswd -nbB chorke 'sadaqah!')
ENV
cat <<'YML'| kubectl apply -n monitoring -f -
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: prometheus-db-prometheus-prometheus-prometheus-0
  namespace: monitoring
  labels:
    app.kubernetes.io/version: 1.0.0
    app.kubernetes.io/name: prometheus
    app.kubernetes.io/managed-by: kubectl
    app.kubernetes.io/instance: prometheus
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 50Gi
  storageClassName: hostpath
  volumeName: monitoring-data-prometheus-0
YML

Find More 👉 Storage » Mount


Find More 👉 Storage » Class » Hostpath


Find More 👉 Storage » Persistent Volume


cat << YML | \
helm -n monitoring install    prometheus prometheus/kube-prometheus-stack --version=75.12.0 -f -
fullnameOverride: prometheus
prometheusOperator:
  annotations:
    kubernetes.io/change-cause: 'CKI-1| Initial Deployment'

kubeStateMetrics:
  annotations:
    kubernetes.io/change-cause: 'CKI-1| Initial Deployment'

prometheus:
  ingress:
    enabled: true
    hosts:
    - prometheus.shahed.shahed.biz
  prometheusSpec:
    retention: 90d
    storageSpec:
      volumeClaimTemplate:
        metadata:
          name: prometheus-db
        spec:
          accessModes:
            - ReadWriteOnce
          resources:
            requests:
              storage: 50Gi
          storageClassName: hostpath
  annotations:
    kubernetes.io/change-cause: 'CKI-1| Initial Deployment'

alertmanager:
  ingress:
    enabled: true
    hosts:
    - alertmanager.shahed.shahed.biz
  annotations:
    kubernetes.io/change-cause: 'CKI-1| Initial Deployment'

grafana:
  ingress:
    enabled: true
    hosts:
    - grafana.shahed.shahed.biz
  annotations:
    kubernetes.io/change-cause: 'CKI-1| Initial Deployment'
YML

kubectl -n monitoring annotate deploy prometheus-kube-state-metrics \
 kubernetes.io/change-cause='CKI-1| Initial Deployment'

cat << YML | \
kubectl -n monitoring patch ingress prometheus-prometheus --type merge --patch-file=/dev/stdin
---
metadata:
  annotations:
    nginx.ingress.kubernetes.io/auth-type: basic
    nginx.ingress.kubernetes.io/auth-secret: prometheus-basic-auth
    nginx.ingress.kubernetes.io/auth-realm: Authentication Required
YML

cat << YML | \
kubectl -n monitoring patch ingress prometheus-alertmanager --type merge --patch-file=/dev/stdin
---
metadata:
  annotations:
    nginx.ingress.kubernetes.io/auth-type: basic
    nginx.ingress.kubernetes.io/auth-secret: prometheus-basic-auth
    nginx.ingress.kubernetes.io/auth-realm: Authentication Required
YML

cat << YML | \
kubectl -n monitoring patch secret prometheus-grafana --type merge --patch-file=/dev/stdin
---
data:
  admin-password: $(echo -n 'sadaqah!'|base64)
YML
kubectl -n monitoring rollout restart deploy/prometheus-grafana

Helm » K8s » Verify

Helm » K8s » Verify

kubectl -n monitoring get secrets prometheus-grafana -o yaml|yq -r '.data."admin-password"'|base64 -d;echo
xdg-open https://www.cdn77.com/tls-test/result?domain=grafana.shahed.shahed.biz
xdg-open https://grafana.shahed.shahed.biz

kubectl -n monitoring exec -it svc/prometheus-alertmanager -c alertmanager -- sh
kubectl -n monitoring exec -it svc/prometheus-alertmanager -c alertmanager -- id
kubectl -n monitoring logs -f  svc/prometheus-alertmanager -c alertmanager

kubectl -n monitoring exec -it svc/prometheus-prometheus   -c prometheus   -- sh
kubectl -n monitoring exec -it svc/prometheus-prometheus   -c prometheus   -- id
kubectl -n monitoring logs -f  svc/prometheus-prometheus   -c prometheus

kubectl -n monitoring exec -it svc/prometheus-grafana      -c grafana      -- sh
kubectl -n monitoring exec -it svc/prometheus-grafana      -c grafana      -- id
kubectl -n monitoring logs -f  svc/prometheus-grafana      -c grafana

---
Page: https://alertmanager.shahed.shahed.biz
user: admin
pass: sadaqah!
---
Page: https://prometheus.shahed.shahed.biz
user: admin
pass: sadaqah!
---
Page: https://grafana.shahed.shahed.biz
user: admin
pass: sadaqah!

Helm » Uninstall

Helm » Uninstall

helm    uninstall  monitoring -n monitoring
kubectl delete pvc --all      -n monitoring
kubectl delete pv  monitoring-data-prometheus-0
kubectl delete deploy --all   -n monitoring
kubectl delete all    --all   -n monitoring
kubectl delete ns                monitoring
cat << EXE | bash
kubectl delete crd              probes.monitoring.coreos.com
kubectl delete crd         podmonitors.monitoring.coreos.com
kubectl delete crd        prometheuses.monitoring.coreos.com
kubectl delete crd        thanosrulers.monitoring.coreos.com
kubectl delete crd       alertmanagers.monitoring.coreos.com
kubectl delete crd       scrapeconfigs.monitoring.coreos.com
kubectl delete crd     prometheusrules.monitoring.coreos.com
kubectl delete crd     servicemonitors.monitoring.coreos.com
kubectl delete crd    prometheusagents.monitoring.coreos.com
kubectl delete crd alertmanagerconfigs.monitoring.coreos.com
EXE

Playground

Playground

helm -n monitoring install    prometheus prometheus/kube-prometheus-stack --version=65.0.0
helm -n monitoring upgrade -i prometheus prometheus/kube-prometheus-stack --version=75.12.0
helm    show    values                   prometheus/kube-prometheus-stack --version=75.12.0|less

kubectl -n monitoring get secrets prometheus-grafana    -o yaml|yq -r '.data."admin-password"'|base64 -d;echo
kubectl -n monitoring get secrets prometheus-basic-auth -o yaml|yq -r '.data.auth'            |base64 -d;echo

kubectl -n monitoring logs -f  svc/prometheus-alertmanager -c init-config-reloader
kubectl -n monitoring logs -f  svc/prometheus-alertmanager -c      config-reloader
kubectl -n monitoring logs -f  svc/prometheus-alertmanager -c alertmanager

kubectl -n monitoring logs -f  svc/prometheus-prometheus   -c init-config-reloader
kubectl -n monitoring logs -f  svc/prometheus-prometheus   -c      config-reloader
kubectl -n monitoring logs -f  svc/prometheus-prometheus   -c prometheus

kubectl -n monitoring logs -f  svc/prometheus-grafana      -c grafana-sc-datasources
kubectl -n monitoring logs -f  svc/prometheus-grafana      -c grafana-sc-dashboard
kubectl -n monitoring logs -f  svc/prometheus-grafana      -c grafana
kubectl -n monitoring delete all --all
kubectl -n monitoring delete ing --all
kubectl -n monitoring delete sts --all
kubectl    delete  pv monitoring-data-prometheus-0
kubectl -n monitoring delete svc --all
kubectl -n monitoring delete pvc --all
kubectl -n monitoring rollout history deploy/prometheus-grafana
kubectl -n monitoring rollout restart deploy/prometheus-grafana
kubectl -n monitoring rollout status  deploy/prometheus-grafana

kubectl -n monitoring logs -f  svc/prometheus-alertmanager
kubectl -n monitoring logs -f  svc/prometheus-prometheus
kubectl -n monitoring logs -f  svc/prometheus-grafana

References

References