apiVersion: apps/v1 kind: Deployment metadata: name: prometheus namespace: monitoring spec: replicas: 1 selector: matchLabels: name: prometheus phase: prod template: metadata: labels: name: prometheus phase: prod spec: securityContext: seccompProfile: type: RuntimeDefault serviceAccountName: prometheus containers: - name: prometheus image: quay.io/prometheus/prometheus:v2.29.1 args: - --web.listen-address=0.0.0.0:9090 - --config.file=/etc/prometheus/prometheus.yaml - --storage.tsdb.path=/var/lib/prometheus ports: - name: web containerPort: 9090 resources: requests: cpu: 100m memory: 200Mi volumeMounts: - name: config mountPath: /etc/prometheus - name: rules mountPath: /etc/prometheus/rules - name: data mountPath: /var/lib/prometheus livenessProbe: httpGet: path: /-/healthy port: 9090 initialDelaySeconds: 10 timeoutSeconds: 10 readinessProbe: httpGet: path: /-/ready port: 9090 initialDelaySeconds: 10 timeoutSeconds: 10 terminationGracePeriodSeconds: 30 volumes: - name: config configMap: name: prometheus-config - name: rules configMap: name: prometheus-rules - name: data emptyDir: {}