| package kube |
| |
| service: prometheus: { |
| metadata: { |
| annotations: "prometheus.io/scrape": "true" |
| labels: name: "prometheus" |
| } |
| spec: { |
| type: "NodePort" |
| ports: [{ |
| name: "main" |
| nodePort: 30900 |
| }] |
| } |
| } |
| deployment: prometheus: spec: { |
| strategy: { |
| rollingUpdate: { |
| maxSurge: 0 |
| maxUnavailable: 1 |
| } |
| type: "RollingUpdate" |
| } |
| selector: matchLabels: app: "prometheus" |
| template: { |
| metadata: { |
| name: "prometheus" |
| annotations: "prometheus.io.scrape": "true" |
| } |
| spec: { |
| containers: [{ |
| image: "prom/prometheus:v2.4.3" |
| args: [ |
| "--config.file=/etc/prometheus/prometheus.yml", |
| "--web.external-url=https://prometheus.example.com", |
| ] |
| ports: [{ |
| name: "web" |
| containerPort: 9090 |
| }] |
| volumeMounts: [{ |
| name: "config-volume" |
| mountPath: "/etc/prometheus" |
| }] |
| }] |
| volumes: [{ |
| name: "config-volume" |
| configMap: name: "prometheus" |
| }] |
| } |
| } |
| } |