Files
taiji-AI-PAD/k8s/test/monitoring.yaml
T
2026-05-05 14:13:59 +08:00

145 lines
3.2 KiB
YAML

# Prometheus Monitoring Deployment (测试环境)
apiVersion: v1
kind: ConfigMap
metadata:
name: prometheus-config
namespace: taiji-ai-test
data:
prometheus.yml: |
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'mcp-server'
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- taiji-ai-test
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app]
regex: mcp-server
action: keep
- source_labels: [__meta_kubernetes_pod_ip]
target_label: __address__
replacement: ${1}:8000
- job_name: 'data-ingestion'
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- taiji-ai-test
relabel_configs:
- source_labels: [__meta_kubernetes_pod_label_app]
regex: data-ingestion
action: keep
- source_labels: [__meta_kubernetes_pod_ip]
target_label: __address__
replacement: ${1}:8000
- job_name: 'nats'
static_configs:
- targets: ['nats:8222']
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: prometheus
namespace: taiji-ai-test
labels:
app: prometheus
environment: test
spec:
replicas: 1
selector:
matchLabels:
app: prometheus
template:
metadata:
labels:
app: prometheus
spec:
serviceAccountName: prometheus
containers:
- name: prometheus
image: prom/prometheus:latest
args:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.enable-lifecycle'
ports:
- containerPort: 9090
resources:
requests:
memory: "128Mi"
cpu: "50m"
limits:
memory: "512Mi"
cpu: "250m"
volumeMounts:
- name: prometheus-config
mountPath: /etc/prometheus
- name: prometheus-data
mountPath: /prometheus
volumes:
- name: prometheus-config
configMap:
name: prometheus-config
- name: prometheus-data
emptyDir: {}
---
apiVersion: v1
kind: Service
metadata:
name: prometheus
namespace: taiji-ai-test
spec:
selector:
app: prometheus
ports:
- port: 9090
targetPort: 9090
---
# Prometheus Service Account and RBAC (测试环境)
apiVersion: v1
kind: ServiceAccount
metadata:
name: prometheus
namespace: taiji-ai-test
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: prometheus-test
rules:
- apiGroups: [""]
resources:
- nodes
- services
- endpoints
- pods
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources:
- configmaps
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: prometheus-test
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: prometheus-test
subjects:
- kind: ServiceAccount
name: prometheus
namespace: taiji-ai-test