helm repo add prometheus https://prometheus-community.github.io/helm-charts
helm repo update
helm repo list
Config
export KUBECONFIG="${HOME}/.kube/dev-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/gcp-kubeconfig.yaml"
export KUBECONFIG="${HOME}/.kube/config"
Install
kubectl create namespace prometheus
helm show values prometheus/kube-prometheus-stack|less
cat <<YML | helm install -n prometheus prometheus prometheus/kube-prometheus-stack -f -
prometheus:
ingress:
enabled: true
hosts:
- prometheus.k8s.local
tls:
- secretName: prometheus.k8s.local.tls
hosts:
- prometheus.k8s.local
alertmanager:
ingress:
enabled: true
hosts:
- alertmanager.k8s.local
tls:
- secretName: alertmanager.k8s.local.tls
hosts:
- alertmanager.k8s.local
grafana:
ingress:
enabled: true
hosts:
- grafana.k8s.local
tls:
- secretName: grafana.k8s.local.tls
hosts:
- grafana.k8s.local
YML
|
|
xdg-open http://grafana.k8s.local &>/dev/null &
gnome-open http://grafana.k8s.local &>/dev/null &
|
x-www-browser http://grafana.k8s.local &>/dev/null &
sensible-browser http://grafana.k8s.local &>/dev/null &
|
|
xdg-open http://prometheus.k8s.local &>/dev/null &
gnome-open http://prometheus.k8s.local &>/dev/null &
|
x-www-browser http://prometheus.k8s.local &>/dev/null &
sensible-browser http://prometheus.k8s.local &>/dev/null &
|
|
xdg-open http://alertmanager.k8s.local &>/dev/null &
gnome-open http://alertmanager.k8s.local &>/dev/null &
|
x-www-browser http://alertmanager.k8s.local &>/dev/null &
sensible-browser http://alertmanager.k8s.local &>/dev/null &
|
Playground
PROMETHEUS_STATE_POD_NAME="$(kubectl -n prometheus get pod -l 'app.kubernetes.io/name=kube-state-metrics' -o json|jq -r '.items[0].metadata.name')"
PROMETHEUS_POD_NAME="$(kubectl -n prometheus get pod -l 'app.kubernetes.io/name=prometheus' -o json|jq -r '.items[0].metadata.name')"
|
|
helm install -n prometheus prometheus prometheus/kube-prometheus-stack
helm upgrade -n prometheus -i prometheus prometheus/kube-prometheus-stack
helm show values prometheus/prometheus|less
|
kubectl -n prometheus exec -it ${PROMETHEUS_POD_NAME} -- cat /etc/prometheus/prometheus.yml
kubectl -n prometheus exec -it ${PROMETHEUS_POD_NAME} -- ls -lah /etc/prometheus
kubectl -n prometheus exec -it ${PROMETHEUS_POD_NAME} -- /bin/sh
|
|
kubectl -n prometheus rollout restart deploy prometheus-kube-prometheus-operator
kubectl -n prometheus logs -f ${PROMETHEUS_POD_NAME}
kubectl -n prometheus logs -f prometheus-server-hash
|
kubectl config --kubeconfig=${HOME}/.kube/aws-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/gcp-kubeconfig.yaml view --flatten
kubectl config --kubeconfig=${HOME}/.kube/config view --flatten
|
|
kubectl -n prometheus get cm prometheus-server-conf -o yaml
kubectl -n prometheus edit deploy prometheus-server -o yaml
kubectl -n prometheus get deploy prometheus-server -o yaml
|
prometheus-kube-prometheus-alertmanager.prometheus.svc.cluster.local
prometheus-kube-prometheus-prometheus.prometheus.svc.cluster.local
prometheus-grafana.prometheus.svc.cluster.local:3000
|
|
kubectl -n prometheus delete all --all
kubectl -n prometheus delete ing --all
kubectl -n prometheus delete sts --all
|
kubectl -n prometheus delete svc --all
kubectl -n prometheus delete pvc --all
kubectl -n prometheus delete pv --all
|
|
|
|
References