Пошаговая инструкция по развёртыванию сервиса в Minikube с инструментами мониторинга.
Инициализация кластера с указанными ресурсами:
minikube delete
minikube start --container-runtime=containerd --driver=docker --cpus 10 --memory 10GB --disk-size 50GBСборка образа в minukube:
minikube image build -t compressor-service:dev .\src\CompressorService.Api\Проверка наличия образа
minikube image lsПрименение манифестов:
kubectl apply -f k8s/namespace.yaml
kubectl apply -n compressor -f k8s/deployment.yaml
kubectl apply -n compressor -f k8s/service.yamlПроверка состояния
kubectl get pods -n compressor
kubectl get svc -n compressor- Добавление репозитория Helm:
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update- Установка в namespace
monitoringс заданными параметрами:
helm install prometheus-stack prometheus-community/kube-prometheus-stack --namespace monitoring --create-namespace --set alertmanager.enabled=false --set grafana.enabled=true --set kubernetesServiceMonitors.enabled=true --set nodeExporter.enabled=true --set prometheusOperator.enabled=true --set prometheus.enabled=true --set defaultRules.create=true - Применение ServiceMonitor:
kubectl apply -f k8s/servicemonitor.yamlПосле этого Prometheus автоматически начнёт собирать метрики с compressor-svc:5000/metrics.
Поднять ingress
minikube service compressor-svc -n compressor --urlИли воспользоваться port-forward
kubectl port-forward -n compressor svc/compressor-svc 5000:5000 5002:5002- Swagger UI: http://localhost:5000/swagger
kubectl port-forward -n monitoring svc/prometheus-stack-kube-prom-prometheus 9090:9090- Интерфейс: http://localhost:9090
kubectl port-forward -n monitoring svc/prometheus-stack-grafana 3000:80- Интерфейс: http://localhost:3000
- Подготовленный дашборд с основными метриками для нагрузочного можно найти тут