82 lines
1.9 KiB
Bash
82 lines
1.9 KiB
Bash
![]() |
#!/bin/bash
|
||
|
set -euo pipefail
|
||
|
|
||
|
echo "🔧 Installing Monitoring Stack (Development Profile)"
|
||
|
|
||
|
# Create monitoring namespace
|
||
|
kubectl create namespace monitoring --dry-run=client -o yaml | kubectl apply -f -
|
||
|
|
||
|
# Install minimal Prometheus for development
|
||
|
echo "📊 Installing minimal Prometheus for development..."
|
||
|
kubectl apply -f - <<EOF
|
||
|
apiVersion: apps/v1
|
||
|
kind: Deployment
|
||
|
metadata:
|
||
|
name: prometheus
|
||
|
namespace: monitoring
|
||
|
spec:
|
||
|
replicas: 1
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
app: prometheus
|
||
|
template:
|
||
|
metadata:
|
||
|
labels:
|
||
|
app: prometheus
|
||
|
spec:
|
||
|
containers:
|
||
|
- name: prometheus
|
||
|
image: prom/prometheus:v2.48.0
|
||
|
args:
|
||
|
- --config.file=/etc/prometheus/prometheus.yml
|
||
|
- --storage.tsdb.path=/prometheus/
|
||
|
- --web.console.libraries=/etc/prometheus/console_libraries
|
||
|
- --web.console.templates=/etc/prometheus/consoles
|
||
|
- --storage.tsdb.retention.time=24h
|
||
|
ports:
|
||
|
- containerPort: 9090
|
||
|
volumeMounts:
|
||
|
- name: config
|
||
|
mountPath: /etc/prometheus/
|
||
|
- name: storage
|
||
|
mountPath: /prometheus/
|
||
|
volumes:
|
||
|
- name: config
|
||
|
configMap:
|
||
|
name: prometheus-config
|
||
|
- name: storage
|
||
|
emptyDir: {}
|
||
|
---
|
||
|
apiVersion: v1
|
||
|
kind: ConfigMap
|
||
|
metadata:
|
||
|
name: prometheus-config
|
||
|
namespace: monitoring
|
||
|
data:
|
||
|
prometheus.yml: |
|
||
|
global:
|
||
|
scrape_interval: 15s
|
||
|
scrape_configs:
|
||
|
- job_name: 'kubernetes-nodes'
|
||
|
kubernetes_sd_configs:
|
||
|
- role: node
|
||
|
- job_name: 'kubernetes-pods'
|
||
|
kubernetes_sd_configs:
|
||
|
- role: pod
|
||
|
---
|
||
|
apiVersion: v1
|
||
|
kind: Service
|
||
|
metadata:
|
||
|
name: prometheus
|
||
|
namespace: monitoring
|
||
|
spec:
|
||
|
selector:
|
||
|
app: prometheus
|
||
|
ports:
|
||
|
- port: 9090
|
||
|
targetPort: 9090
|
||
|
type: ClusterIP
|
||
|
EOF
|
||
|
|
||
|
echo "✅ Development monitoring stack installed successfully"
|
||
|
echo "📊 Access Prometheus at: kubectl port-forward -n monitoring svc/prometheus 9090:9090"
|