apiVersion: v1 kind: Service metadata: name: prometheus spec: ports: - nodePort: 9091 port: 9090 protocol: TCP targetPort: 9090 selector: app: prometheus type: NodePort --- apiVersion: v1 data: prometheus.yml: | # Copyright 2018 The Prometheus Authors # Copyright 2018 Whitestack # Copyright 2018 Telefonica Investigacion y Desarrollo, S.A.U. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # my global config global: scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. # scrape_timeout is set to the global default (10s). # Alertmanager configuration alerting: alertmanagers: - static_configs: - targets: # - alertmanager:9093 # Load rules once and periodically evaluate them according to the global 'evaluation_interval'. rule_files: # - "first_rules.yml" # - "second_rules.yml" # A scrape configuration containing exactly one endpoint to scrape: # Here it's Prometheus itself. scrape_configs: # The job name is added as a label `job=` to any timeseries scraped from this config. - job_name: 'prometheus' # metrics_path defaults to '/metrics' # scheme defaults to 'http'. static_configs: - targets: ['mon:8000'] kind: ConfigMap metadata: name: prom --- apiVersion: apps/v1 kind: StatefulSet metadata: name: prometheus labels: app: prometheus spec: replicas: 1 serviceName: prometheus selector: matchLabels: app: prometheus template: metadata: labels: app: prometheus spec: containers: - name: prometheus image: prom/prometheus:v2.4.3 ports: - containerPort: 9090 protocol: TCP volumeMounts: - name: prom-config mountPath: /etc/prometheus/ - name: prom-db mountPath: /prometheus volumes: - configMap: defaultMode: 420 name: prom name: prom-config - emptyDir: {} name: prom-db