/
dm1trykrylov
/
software-development
Обзор
Документация
Войти
/
dm1trykrylov
/
software-development
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
hw03/deploy.sh
68 строк
2 KB
Dmitry Krylov
Update configs for Prometheus
20 май 2026, 23:49
Верифицирован
20 май 2026, 23:49
d9ccba5
Код
Авторство
О чём код?
#!/bin/bash set -e echo "=== Setting up Istio ===" # Install Istio with demo profile istioctl install --set profile=demo --set "values.global.proxy.resources.requests.cpu=10m" --set "values.global.proxy.resources.requests.memory=100Mi" -y # Enable automatic Envoy sidecar injection for your namespace minikube kubectl -- label namespace default istio-injection=enabled --overwrite # Apply Istio configs minikube kubectl -- apply -f istio/gateway.yaml minikube kubectl -- apply -f istio/virtualservice.yaml minikube kubectl -- apply -f istio/destinationrule.yaml echo "=== Setting up Prometheus (kube-prometheus-stack) ===" helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update helm upgrade --install prometheus prometheus-community/kube-prometheus-stack \ --namespace monitoring \ --create-namespace \ --wait \ --timeout 5m echo "=== Building Docker image ===" # For Minikube (ensures image is available inside cluster) eval $(minikube docker-env) docker build -t my-app:latest . echo "=== Applying Kubernetes manifests ===" # Apply ConfigMap first (needed by other components) minikube kubectl -- apply -f config/configmap.yaml minikube kubectl -- apply -f deployment/deployment.yaml minikube kubectl -- apply -f service/service.yaml minikube kubectl -- apply -f monitoring/service-monitor.yaml # Apply DaemonSet for log collection minikube kubectl -- apply -f daemonset/daemonset.yaml # Apply CronJob (archive all Pods) minikube kubectl -- apply -f job/cronjob.yaml echo "=== Waiting for Deloyment rollout ===" minikube kubectl -- rollout status deployment/my-app echo "=== Waiting for DaemonSet ===" minikube kubectl -- rollout status daemonset/log-agent echo "=== Waiting for Prometheus ===" minikube kubectl -- wait --for=condition=Ready pods -l app.kubernetes.io/name=prometheus -n monitoring --timeout=300s echo "=== Current Pods ===" minikube kubectl -- get pods -o wide echo "=== Done ===" echo "Access via:" echo "minikube kubectl -- port-forward -n istio-system svc/istio-ingressgateway 8080:80" echo "or (test cluster without istio)" echo "minikube kubectl -- port-forward service/my-app 8080:80" echo "" echo "Access Prometheus UI:" echo "minikube kubectl -- port-forward -n monitoring svc/prometheus-kube-prometheus-prometheus 9090:9090"