prometheus增加需要采集数据的pod
Prometheus ---serviceMonitorSelector--- ServiceMonitor(描述监控对象信息) ---matchLabels--- Service(k8s服务发现)
Service+Deploy yaml定义
kind: Service
apiVersion: v1
metadata:
name: app1
labels:
app: app1 # ServiceMonitor会使用该标签来关联
spec:
selector:
app: app1 # 关联pod
ports:
- name: web # ServiceMonitor会使用该name来关联采集端口
port: 8080
targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: app1
spec:
selector:
matchLabels:
app: app1 # 关联pod
replicas: 3
template:
metadata:
labels:
app: app1 # Service+Deploy会使用该标签来关联pod
spec:
containers:
- name: app1
image: tomcat:latest
ports:
- name: web
ServiceMonitor yaml定义
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: app1
namespace: monitoring
labels:
app: backend # Prometheus会使用该标签来关联
spec:
namespaceSelector:
matchNames:
- default
selector:
matchLabels:
app: app1 # 关联service的label
endpoints:
- port: web # 关联service的port
Prometheus yaml定义
apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
name: tomcat
namespace: monitoring
spec:
serviceMonitorSelector:
matchLabels:
app: backend # 关联ServiceMonitor
浙公网安备 33010602011771号