pushgateway on k8s
部署yaml
prometheus pushgateway
部署的yaml
文件
-
pushgateway
的deployment
文件内容
apiVersion: apps/v1beta2
kind: Deployment
metadata:
namespace: kube-ops
name: pushgateway-ttt
labels:
app: pushgateway-ttt
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "8080"
spec:
replicas: 1
revisionHistoryLimit: 0
selector:
matchLabels:
app: pushgateway-ttt
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: "25%"
maxUnavailable: "25%"
template:
metadata:
name: pushgateway-ttt
labels:
app: pushgateway-ttt
spec:
containers:
- name: pushgateway-ttt
image: prom/pushgateway:v0.7.0
imagePullPolicy: IfNotPresent
livenessProbe:
initialDelaySeconds: 600
periodSeconds: 10
successThreshold: 1
failureThreshold: 10
httpGet:
path: /
port: 9091
ports:
- name: "app-port"
containerPort: 9091
resources:
limits:
memory: "1000Mi"
cpu: 1
requests:
memory: "1000Mi"
cpu: 1
prom/pushgateway
可以在hub.docker.io
查到dockerfile
文件及部署说明,启动参数--persistence.file
等都是放入spec.args
中添加即可生效;
所有启动参数:
--web.listen-address default:9091
--web.telemetry-path default:/metrics
--web.route-prefix default:""
--persistence.file default: ""
--persistence.interval default: 5m
参数说明地址
-
pushgateway
的service
文件内容
apiVersion: v1
kind: Service
metadata:
name: pushgateway-ttt
namespace: kube-ops
labels:
app: pushgateway-ttt
spec:
selector:
app: pushgateway-ttt
#type: NodePort
ports:
- name: pushgateway-ttt
port: 9091
targetPort: 9091
-
pushgateway
的ingress
文件内容
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: pushgateway-ingress
namespace: kube-ops
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: push-prometheus.ttt.mucang.cn
http:
paths:
- path: /
backend:
serviceName: pushgateway-ttt
servicePort: 9091
在Prometheus
中配置pushgateway
及pull pushgateway
数据配置
# prometheus配置文件中配置pull pushgateway组件配置
- job_name: 'pushgateway'
scrape_interval: 60s
metrics_path: /metrics
static_configs:
- targets: ["push-prometheus.xxx.xx.xx]
# prometheus的deployment配置文件配置环境变量,这样prometheus才会去pull pushgateway缓存的数据
# 所有推到pushgateway的数据都会在/metrics接口的体现
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。