Запуск локального кластера k8s

# create local cluster
$ kind create cluster --config kind.yml

# configure ingress
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/main/deploy/static/provider/kind/deploy.yaml

# add helm repo for postgres, prometheus+grafana, jaeger
$ helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
$ helm repo add romanow https://romanow.github.io/helm-charts/
$ helm repo add jaegertracing https://jaegertracing.github.io/helm-charts
$ helm repo add jetstack https://charts.jetstack.io
$ helm repo update

# set local address
$ sudo tee -a /etc/hosts >/dev/null <<EOT
127.0.0.1    gateway.local
127.0.0.1    grafana.local
127.0.0.1    jaeger.local
127.0.0.1    kibana.local
EOT

# install postgres
$ helm install postgres romanow/postgres --values postgres/values.yaml

# install services
$ helm install gateway romanow/java-service --values=services/common-values.yaml --values=services/gateway-values.yaml
$ helm install store romanow/java-service --values=services/common-values.yaml --values=services/store-values.yaml
$ helm install warehouse romanow/java-service --values=services/common-values.yaml --values=services/warehouse-values.yaml
$ helm install warranty romanow/java-service --values=services/common-values.yaml --values=services/warranty-values.yaml

$ cd ../tests/postman
$ newman run -e k8s-auth0.json collection.json

Postgres Exporter

$ helm install postgres-exporter prometheus-community/prometheus-postgres-exporter --values=postgres-exporter/values.yaml

Grafana + Prometheus


$ helm install node-exporter romanow/node-exporter
$ helm install kube-state-metrics romanow/kube-state-metrics
$ helm install prometheus romanow/prometheus
$ helm install grafana romanow/grafana --set ingress.domain=local

Install Prometheus Operator:

$ kubectl create secret generic grafana-credentials \
  --from-literal=admin-user=admin \
  --from-literal=admin-password=admin

$ helm install prometheus-stack prometheus-community/kube-prometheus-stack --values monitoring/deploy-values.yaml

Открыть в браузере http://grafana.local.

ELK Stack

$ helm install elasticsearch romanow/elasticsearch --values=elasticsearch/values.yaml
$ helm install fluent-bit romanow/fluent-bit
$ helm install kibana romanow/kibana --set ingress.domain=local

Открыть в браузере http://kibana.local.

Jaeger

$ helm install elasticsearch romanow/elasticsearch --values=elasticsearch/values.yaml
$ helm install jaeger romanow/jaeger --values=tracing/helm/values.yaml

Открыть в браузере http://jaeger.local.