-
-
Save anton-johansson/7ccd9043889b1531b7cd7032b09f3f81 to your computer and use it in GitHub Desktop.
Prometheus Kubernetes Deployment
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRole | |
| metadata: | |
| name: prometheus | |
| rules: | |
| - apiGroups: [""] | |
| resources: | |
| - nodes | |
| - nodes/proxy | |
| - nodes/metrics | |
| - services | |
| - endpoints | |
| - pods | |
| verbs: ["get", "list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - configmaps | |
| verbs: ["get"] | |
| - nonResourceURLs: ["/metrics"] | |
| verbs: ["get"] | |
| - apiGroups: | |
| - route.openshift.io | |
| attributeRestrictions: null | |
| resources: | |
| - routers/metrics | |
| verbs: | |
| - get | |
| - apiGroups: | |
| - image.openshift.io | |
| attributeRestrictions: null | |
| resources: | |
| - registry/metrics | |
| verbs: | |
| - get | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRole | |
| metadata: | |
| name: prometheus-node-exporter | |
| rules: | |
| - apiGroups: | |
| - authentication.k8s.io | |
| resources: | |
| - tokenreviews | |
| verbs: | |
| - create | |
| - apiGroups: | |
| - authorization.k8s.io | |
| resources: | |
| - subjectaccessreviews | |
| verbs: | |
| - create | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRole | |
| metadata: | |
| name: kube-state-metrics | |
| rules: | |
| - apiGroups: | |
| - "" | |
| attributeRestrictions: null | |
| resources: | |
| - configmaps | |
| - endpoints | |
| - limitranges | |
| - namespaces | |
| - nodes | |
| - persistentvolumeclaims | |
| - persistentvolumes | |
| - pods | |
| - replicationcontrollers | |
| - resourcequotas | |
| - secrets | |
| - services | |
| verbs: | |
| - list | |
| - watch | |
| - apiGroups: | |
| - extensions | |
| attributeRestrictions: null | |
| resources: | |
| - daemonsets | |
| - deployments | |
| - replicasets | |
| verbs: | |
| - list | |
| - watch | |
| - apiGroups: | |
| - apps | |
| attributeRestrictions: null | |
| resources: | |
| - statefulsets | |
| verbs: | |
| - list | |
| - watch | |
| - apiGroups: | |
| - batch | |
| attributeRestrictions: null | |
| resources: | |
| - cronjobs | |
| - jobs | |
| verbs: | |
| - list | |
| - watch | |
| - apiGroups: | |
| - autoscaling | |
| attributeRestrictions: null | |
| resources: | |
| - horizontalpodautoscalers | |
| verbs: | |
| - list | |
| - watch | |
| - apiGroups: | |
| - policy | |
| attributeRestrictions: null | |
| resources: | |
| - poddisruptionbudgets | |
| verbs: | |
| - list | |
| - watch | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: prometheus | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: prometheus | |
| subjects: | |
| - kind: ServiceAccount | |
| name: prometheus | |
| namespace: prometheus | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: prometheus-node-exporter | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: prometheus-node-exporter | |
| subjects: | |
| - kind: ServiceAccount | |
| name: prometheus-node-exporter | |
| namespace: prometheus | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| name: kube-state-metrics | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: kube-state-metrics | |
| subjects: | |
| - kind: ServiceAccount | |
| name: kube-state-metrics | |
| namespace: prometheus | |
| --- | |
| kind: ConfigMap | |
| apiVersion: v1 | |
| metadata: | |
| creationTimestamp: null | |
| name: prometheus-config | |
| namespace: prometheus | |
| data: | |
| prometheus.rules: | | |
| groups: | |
| - name: cluster | |
| rules: | |
| - alert: NodeDown | |
| annotations: | |
| description: "Node {{ $labels.instance }} has been down for more than 5 minutes." | |
| identifier: "{{ $labels.instance }}" | |
| summary: "Node {{ $labels.instance }} down" | |
| expr: "up{job=\"kubernetes-nodes\"} == 0" | |
| for: 5m | |
| labels: | |
| severity: critical | |
| - alert: CPURequestsHigh | |
| annotations: | |
| description: "Cluster container CPU requests is above 80% (current value: {{ $value }}%)" | |
| identifier: "{{ $labels.instance }}" | |
| summary: "High container CPU requests" | |
| expr: "(max(sum(kube_pod_container_resource_requests_cpu_cores) by (instance)) / min(sum(kube_node_status_allocatable_cpu_cores) by (instance)) * 100) > 80" | |
| for: 5m | |
| labels: | |
| severity: critical | |
| - alert: MemoryRequestsHigh | |
| annotations: | |
| identifier: "{{ $labels.instance }}" | |
| summary: "High container memory requests" | |
| description: "Cluster container memory requests is above 80% (current value: {{ $value }}%)" | |
| expr: "(max(sum(kube_pod_container_resource_requests_memory_bytes) by (instance)) / min(sum(kube_node_status_allocatable_memory_bytes) by (instance)) * 100) > 80" | |
| for: 5m | |
| labels: | |
| severity: critical | |
| prometheus.yaml: | | |
| alerting: | |
| alertmanagers: | |
| - | |
| scheme: http | |
| static_configs: | |
| - | |
| targets: | |
| - "alertmanager:9093" | |
| global: | |
| evaluation_interval: 5s | |
| external_labels: | |
| cluster: prod-cluster | |
| scrape_interval: 60s | |
| rule_files: | |
| - "*.rules" | |
| scrape_configs: | |
| - | |
| job_name: prometheus | |
| metrics_path: /metrics | |
| scheme: http | |
| static_configs: | |
| - | |
| targets: | |
| - "localhost:9090" | |
| - | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| job_name: kubernetes-apiservers | |
| kubernetes_sd_configs: | |
| - | |
| role: endpoints | |
| relabel_configs: | |
| - | |
| action: keep | |
| regex: default;kubernetes;https | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| - __meta_kubernetes_service_name | |
| - __meta_kubernetes_endpoint_port_name | |
| scheme: https | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| - | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| job_name: kubernetes-nodes | |
| kubernetes_sd_configs: | |
| - | |
| role: node | |
| metric_relabel_configs: | |
| - | |
| action: drop | |
| regex: openshift_sdn_pod_(setup|teardown)_latency(.*) | |
| source_labels: | |
| - __name__ | |
| relabel_configs: | |
| - | |
| action: labelmap | |
| regex: __meta_kubernetes_node_label_(.+) | |
| scheme: https | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| - | |
| job_name: kubernetes-nodes-exporter | |
| kubernetes_sd_configs: | |
| - | |
| role: node | |
| metric_relabel_configs: | |
| - | |
| action: drop | |
| regex: node_cpu|node_(disk|scrape_collector)_.+ | |
| source_labels: | |
| - __name__ | |
| - | |
| action: replace | |
| regex: (node_(netstat_Ip_.+|vmstat_(nr|thp)_.+|filesystem_(free|size|device_error)|network_(transmit|receive)_(drop|errs))) | |
| replacement: renamed_$1 | |
| source_labels: | |
| - __name__ | |
| target_label: __name__ | |
| - | |
| action: drop | |
| regex: node_(netstat|vmstat|filesystem|network)_.+ | |
| source_labels: | |
| - __name__ | |
| - | |
| action: replace | |
| regex: renamed_(.+) | |
| replacement: $1 | |
| source_labels: | |
| - __name__ | |
| target_label: __name__ | |
| - | |
| action: drop | |
| regex: node_network_.+;veth.+ | |
| source_labels: | |
| - __name__ | |
| - device | |
| - | |
| action: drop | |
| regex: "node_filesystem_(free|size|device_error);([^/].*|/.+)" | |
| source_labels: | |
| - __name__ | |
| - mountpoint | |
| relabel_configs: | |
| - | |
| regex: "(.*):10250" | |
| replacement: "${1}:9100" | |
| source_labels: | |
| - __address__ | |
| target_label: __address__ | |
| - | |
| source_labels: | |
| - __meta_kubernetes_node_label_kubernetes_io_hostname | |
| target_label: __instance__ | |
| - | |
| action: labelmap | |
| regex: __meta_kubernetes_node_label_(.+) | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| - | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| job_name: kubernetes-cadvisor | |
| kubernetes_sd_configs: | |
| - | |
| role: node | |
| metric_relabel_configs: | |
| - | |
| action: drop | |
| regex: container_(cpu_user_seconds_total|cpu_cfs_periods_total|memory_swap|memory_working_set_bytes|memory_cache|last_seen|fs_(read_seconds_total|write_seconds_total|sector_(.*)|io_(.*)|reads_merged_total|writes_merged_total)|tasks_state|memory_failcnt|memory_failures_total|spec_memory_swap_limit_bytes|fs_(.*)_bytes_total) | |
| source_labels: | |
| - __name__ | |
| metrics_path: /metrics/cadvisor | |
| relabel_configs: | |
| - | |
| action: labelmap | |
| regex: __meta_kubernetes_node_label_(.+) | |
| scheme: https | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| - | |
| job_name: kubernetes-pods | |
| kubernetes_sd_configs: | |
| - | |
| role: pod | |
| relabel_configs: | |
| - | |
| action: keep | |
| regex: true | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_prometheus_io_scrape | |
| - | |
| action: replace | |
| regex: (.+) | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_prometheus_io_path | |
| target_label: metrics_path | |
| - | |
| action: replace | |
| regex: "([^:]+)(?::\\d+)?;(\\d+)" | |
| replacement: "$1:$2" | |
| source_labels: | |
| - __address__ | |
| - __meta_kubernetes_pod_annotation_prometheus_io_port | |
| target_label: address | |
| - | |
| action: labelmap | |
| regex: __meta_kubernetes_pod_label_(.+) | |
| - | |
| action: replace | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: kubernetes_namespace | |
| - | |
| action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_name | |
| target_label: kubernetes_pod_name | |
| - | |
| job_name: kubernetes-service-endpoints | |
| kubernetes_sd_configs: | |
| - | |
| role: endpoints | |
| relabel_configs: | |
| - | |
| action: keep | |
| regex: true | |
| source_labels: | |
| - __meta_kubernetes_service_annotation_prometheus_io_scrape | |
| - | |
| action: replace | |
| regex: (https?) | |
| source_labels: | |
| - __meta_kubernetes_service_annotation_prometheus_io_scheme | |
| target_label: scheme | |
| - | |
| action: replace | |
| regex: (.+) | |
| source_labels: | |
| - __meta_kubernetes_service_annotation_prometheus_io_path | |
| target_label: metrics_path | |
| - | |
| action: replace | |
| regex: "([^:]+)(?::\\d+)?;(\\d+)" | |
| replacement: "$1:$2" | |
| source_labels: | |
| - __address__ | |
| - __meta_kubernetes_service_annotation_prometheus_io_port | |
| target_label: address | |
| - | |
| action: labelmap | |
| regex: __meta_kubernetes_service_label_(.+) | |
| - | |
| action: replace | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: kubernetes_namespace | |
| - | |
| action: replace | |
| source_labels: | |
| - __meta_kubernetes_service_name | |
| target_label: kubernetes_name | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| insecure_skip_verify: true | |
| - | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| job_name: kubernetes-controllers | |
| kubernetes_sd_configs: | |
| - | |
| role: endpoints | |
| relabel_configs: | |
| - | |
| action: keep | |
| regex: default;kubernetes;https | |
| source_labels: | |
| - __meta_kubernetes_namespace | |
| - __meta_kubernetes_service_name | |
| - __meta_kubernetes_endpoint_port_name | |
| # Uncomment if deploying on OpenShift. Controller metrics is exposed on port 8444 | |
| #- | |
| # action: replace | |
| # regex: "(.+)(?::\\d+)" | |
| # replacement: "$1:8444" | |
| # source_labels: | |
| # - __address__ | |
| # target_label: __address__ | |
| scheme: https | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| - | |
| job_name: ingress-nginx-endpoints | |
| kubernetes_sd_configs: | |
| - | |
| namespaces: | |
| names: | |
| - ingress-nginx | |
| role: pod | |
| relabel_configs: | |
| - | |
| action: keep | |
| regex: true | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_prometheus_io_scrape | |
| - | |
| action: replace | |
| regex: (https?) | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_prometheus_io_scheme | |
| target_label: __scheme__ | |
| - | |
| action: replace | |
| regex: (.+) | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_prometheus_io_path | |
| target_label: __metrics_path__ | |
| - | |
| action: replace | |
| regex: "([^:]+)(?::\\d+)?;(\\d+)" | |
| replacement: "$1:$2" | |
| source_labels: | |
| - __address__ | |
| - __meta_kubernetes_pod_annotation_prometheus_io_port | |
| target_label: __address__ | |
| - | |
| action: drop | |
| regex: prometheus-server | |
| source_labels: | |
| - __meta_kubernetes_service_name | |
| # Uncomment to enable OpenShift haproxy (router) metrics | |
| #- | |
| # bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| # job_name: openshift-router | |
| # kubernetes_sd_configs: | |
| # - | |
| # namespaces: | |
| # names: | |
| # - default | |
| # role: endpoints | |
| # relabel_configs: | |
| # - | |
| # action: keep | |
| # regex: router;1936-tcp | |
| # source_labels: | |
| # - __meta_kubernetes_service_name | |
| # - __meta_kubernetes_endpoint_port_name | |
| # scheme: http | |
| --- | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| name: alertmanager-config | |
| namespace: prometheus | |
| data: | |
| alertmanager.yml: | | |
| global: | |
| route: | |
| receiver: slack_alerts | |
| group_by: ['alertname', 'cluster', 'service'] | |
| receivers: | |
| - name: slack_alerts | |
| slack_configs: | |
| - api_url: 'https://hooks.slack.com/services/<KEY>' | |
| channel: '#general' | |
| send_resolved: true | |
| title: '[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ if or (and (eq (len .Alerts.Firing) 1) (eq (len .Alerts.Resolved) 0)) (and (eq (len .Alerts.Firing) 0) (eq (len .Alerts.Resolved) 1)) }}{{ range .Alerts.Firing }}{{ .Labels.alertname }} @ {{ .Labels.cluster }}{{ end }}{{ range .Alerts.Resolved }}{{ .Labels.alertname }} @ {{ .Labels.cluster }}{{ end }}{{ end }}' | |
| text: |- | |
| *Cluster:* `{{ .CommonLabels.cluster }}` | |
| {{ if or (and (eq (len .Alerts.Firing) 1) (eq (len .Alerts.Resolved) 0)) (and (eq (len .Alerts.Firing) 0) (eq (len .Alerts.Resolved) 1)) }} | |
| {{ range .Alerts.Firing }}{{ .Annotations.description }}{{ end }}{{ range .Alerts.Resolved }}{{ .Annotations.description }}{{ end }} | |
| {{ else }} | |
| {{ if gt (len .Alerts.Firing) 0 }} | |
| *Alerts Firing:* | |
| {{ range .Alerts }} | |
| • *{{ .Labels.alertname }}:* {{ .Annotations.summary }} `{{ .Labels.severity | toUpper }}` | |
| {{ end }} | |
| {{ end }}{{ end }} | |
| {{ if gt (len .Alerts.Resolved) 0 }} | |
| *Alerts Resolved:* | |
| {{ range .Alerts.Resolved }} | |
| • *{{ .Labels.alertname }}:* {{ .Annotations.summary }} | |
| {{ end }} | |
| {{ end }} | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: prometheus | |
| namespace: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: prometheus-node-exporter | |
| namespace: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: kube-state-metrics | |
| namespace: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| name: alertmanager | |
| namespace: prometheus | |
| --- | |
| kind: Service | |
| apiVersion: v1 | |
| metadata: | |
| annotations: | |
| prometheus.io/scrape: "true" | |
| name: prometheus | |
| namespace: prometheus | |
| labels: | |
| app: prometheus | |
| spec: | |
| ports: | |
| - name: prometheus-http | |
| port: 9090 | |
| protocol: TCP | |
| selector: | |
| app: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| prometheus.io/scrape: "true" | |
| name: prometheus-node-exporter | |
| namespace: prometheus | |
| labels: | |
| app: prometheus | |
| spec: | |
| clusterIP: None | |
| ports: | |
| - name: prometheus-node-exporter | |
| port: 9100 | |
| protocol: TCP | |
| selector: | |
| app: prometheus | |
| type: ClusterIP | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| prometheus.io/scrape: "true" | |
| labels: | |
| k8s-app: kube-state-metrics | |
| name: kube-state-metrics | |
| namespace: prometheus | |
| spec: | |
| ports: | |
| - name: http-metrics | |
| port: 8080 | |
| protocol: TCP | |
| targetPort: http-metrics | |
| - name: telemetry | |
| port: 8081 | |
| protocol: TCP | |
| targetPort: telemetry | |
| selector: | |
| k8s-app: kube-state-metrics | |
| sessionAffinity: None | |
| type: ClusterIP | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| prometheus.io/scrape: "true" | |
| name: alertmanager | |
| namespace: prometheus | |
| labels: | |
| app: alertmanager | |
| spec: | |
| ports: | |
| - name: alertmanager-http | |
| port: 9093 | |
| protocol: TCP | |
| selector: | |
| app: alertmanager | |
| --- | |
| apiVersion: extensions/v1beta1 | |
| kind: Deployment | |
| metadata: | |
| name: prometheus | |
| namespace: prometheus | |
| labels: | |
| app: prometheus | |
| spec: | |
| replicas: 1 | |
| template: | |
| metadata: | |
| name: prometheus | |
| labels: | |
| app: prometheus | |
| spec: | |
| serviceAccountName: prometheus | |
| serviceAccount: prometheus | |
| containers: | |
| - name: prometheus | |
| image: prom/prometheus:latest | |
| args: | |
| - '--config.file=/etc/prometheus/prometheus.yaml' | |
| - '--storage.tsdb.path=/prometheus/' | |
| ports: | |
| - name: http | |
| containerPort: 9090 | |
| protocol: TCP | |
| resources: | |
| requests: | |
| cpu: 500m | |
| memory: 1024M | |
| limits: | |
| cpu: 500m | |
| memory: 1024M | |
| volumeMounts: | |
| - name: prometheus-config | |
| mountPath: /etc/prometheus | |
| - mountPath: /prometheus | |
| name: prometheus-data | |
| volumes: | |
| - name: prometheus-config | |
| configMap: | |
| name: prometheus-config | |
| - name: prometheus-data | |
| emptyDir: {} | |
| --- | |
| apiVersion: extensions/v1beta1 | |
| kind: Deployment | |
| metadata: | |
| labels: | |
| k8s-app: kube-state-metrics | |
| name: kube-state-metrics | |
| namespace: prometheus | |
| spec: | |
| replicas: 1 | |
| selector: | |
| matchLabels: | |
| k8s-app: kube-state-metrics | |
| strategy: | |
| rollingUpdate: | |
| maxSurge: 25% | |
| maxUnavailable: 25% | |
| type: RollingUpdate | |
| template: | |
| metadata: | |
| labels: | |
| k8s-app: kube-state-metrics | |
| spec: | |
| containers: | |
| - image: quay.io/coreos/kube-state-metrics:v1.4.0 | |
| imagePullPolicy: IfNotPresent | |
| name: kube-state-metrics | |
| ports: | |
| - containerPort: 8080 | |
| name: http-metrics | |
| protocol: TCP | |
| - containerPort: 8081 | |
| name: telemetry | |
| protocol: TCP | |
| readinessProbe: | |
| failureThreshold: 3 | |
| httpGet: | |
| path: /healthz | |
| port: 8080 | |
| scheme: HTTP | |
| initialDelaySeconds: 5 | |
| periodSeconds: 10 | |
| successThreshold: 1 | |
| timeoutSeconds: 5 | |
| resources: {} | |
| terminationMessagePath: /dev/termination-log | |
| terminationMessagePolicy: File | |
| serviceAccount: kube-state-metrics | |
| serviceAccountName: kube-state-metrics | |
| --- | |
| apiVersion: extensions/v1beta1 | |
| kind: Deployment | |
| metadata: | |
| name: alertmanager | |
| namespace: prometheus | |
| labels: | |
| app: alertmanager | |
| spec: | |
| replicas: 1 | |
| template: | |
| metadata: | |
| name: alertmanager | |
| labels: | |
| app: alertmanager | |
| spec: | |
| serviceAccountName: alertmanager | |
| serviceAccount: alertmanager | |
| containers: | |
| - name: alertmanager | |
| image: prom/alertmanager:master | |
| args: | |
| - '--config.file=/etc/alertmanager/alertmanager.yml' | |
| - '--storage.path=/alertmanager' | |
| ports: | |
| - name: http | |
| containerPort: 9093 | |
| protocol: TCP | |
| resources: | |
| requests: | |
| cpu: 500m | |
| memory: 500M | |
| limits: | |
| cpu: 500m | |
| memory: 500M | |
| volumeMounts: | |
| - name: alertmanager-config | |
| mountPath: /etc/alertmanager | |
| - name: alertmanager-data | |
| mountPath: /alertmanager | |
| volumes: | |
| - name: alertmanager-config | |
| configMap: | |
| name: alertmanager-config | |
| - name: alertmanager-data | |
| emptyDir: {} | |
| --- | |
| apiVersion: extensions/v1beta1 | |
| kind: DaemonSet | |
| metadata: | |
| labels: | |
| app: prometheus-node-exporter | |
| name: prometheus-node-exporter | |
| namespace: prometheus | |
| spec: | |
| revisionHistoryLimit: 10 | |
| selector: | |
| matchLabels: | |
| app: prometheus-node-exporter | |
| template: | |
| metadata: | |
| labels: | |
| app: prometheus-node-exporter | |
| name: prometheus-node-exporter | |
| spec: | |
| containers: | |
| - name: prometheus-node-exporter | |
| image: prom/node-exporter:latest | |
| imagePullPolicy: IfNotPresent | |
| ports: | |
| - containerPort: 9100 | |
| hostPort: 9100 | |
| name: scrape | |
| protocol: TCP | |
| resources: | |
| limits: | |
| cpu: 200m | |
| memory: 50Mi | |
| requests: | |
| cpu: 100m | |
| memory: 30Mi | |
| terminationMessagePath: /dev/termination-log | |
| terminationMessagePolicy: File | |
| volumeMounts: | |
| - mountPath: /host/proc | |
| name: proc | |
| readOnly: true | |
| - mountPath: /host/sys | |
| name: sys | |
| readOnly: true | |
| hostNetwork: true | |
| hostPID: true | |
| serviceAccount: prometheus-node-exporter | |
| serviceAccountName: prometheus-node-exporter | |
| volumes: | |
| - hostPath: | |
| path: /proc | |
| type: "" | |
| name: proc | |
| - hostPath: | |
| path: /sys | |
| type: "" | |
| name: sys | |
| --- | |
| apiVersion: extensions/v1beta1 | |
| kind: Ingress | |
| metadata: | |
| name: prometheus | |
| namespace: prometheus | |
| spec: | |
| rules: | |
| - host: prometheus.mdlwr.se | |
| http: | |
| paths: | |
| - backend: | |
| serviceName: prometheus | |
| servicePort: 9090 | |
| path: / | |
| apiVersion: extensions/v1beta1 | |
| kind: Ingress | |
| metadata: | |
| name: alertmanager | |
| namespace: prometheus | |
| spec: | |
| rules: | |
| - host: alertmanager.mdlwr.se | |
| http: | |
| paths: | |
| - backend: | |
| serviceName: alertmanager | |
| servicePort: 9093 | |
| path: / |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment