apiVersion: apps/v1标签:status,configmap,name,配置文件,conf,demo,nginx,io,k8s From: https://www.cnblogs.com/cheyunhua/p/18527941
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: nginx-demo
name: nginx-demo
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: nginx-demo
template:
metadata:
labels:
app.kubernetes.io/name: nginx-demo
annotations:
prometheus.io/scrape: "true"
prometheus.io/port: "9113"
spec:
containers:
- image: nginxdemos/hello:latest
name: nginx-demo
ports:
- name: http
containerPort: 80
volumeMounts:
- name: config-volume
mountPath: /etc/nginx/conf.d/status.conf
subPath: status.conf
- image: nginx/nginx-prometheus-exporter:latest
name: nginx-prometheus-exporter
args:
- "--nginx.scrape-uri=http://localhost:8080/stub_status"
ports:
- name: metrics
containerPort: 9113
volumes:
- name: config-volume
configMap:
name: status-config
---
apiVersion: v1
kind: Service
metadata:
name: nginx-demo
spec:
type: NodePort
selector:
app.kubernetes.io/name: nginx-demo
ports:
- port: 80
targetPort: 80
protocol: TCP
name: http
- port: 9113
targetPort: 9113
name: metrics
---
apiVersion: v1
kind: ConfigMap
metadata:
name: status-config
data:
status.conf: |-
server {
listen 8080;
location /stub_status {
stub_status;
}
}