Last active
April 10, 2020 16:39
-
-
Save amimof/24c997aab956e51e3154222c94e506b3 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: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| labels: | |
| app: prometheus | |
| component: kube-state-metrics | |
| name: kube-state-metrics | |
| namespace: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| labels: | |
| app: prometheus | |
| component: alertmanager | |
| name: alertmanager | |
| namespace: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| labels: | |
| app: prometheus | |
| component: node-exporter | |
| name: node-exporter | |
| namespace: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: ServiceAccount | |
| metadata: | |
| labels: | |
| component: prometheus | |
| app: prometheus | |
| name: prometheus | |
| namespace: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| labels: | |
| component: alertmanager | |
| app: prometheus | |
| name: alertmanager-config | |
| namespace: prometheus | |
| data: | |
| alertmanager.yml: | | |
| global: {} | |
| receivers: | |
| - name: default-receiver | |
| route: | |
| group_interval: 5m | |
| group_wait: 10s | |
| receiver: default-receiver | |
| repeat_interval: 3h | |
| --- | |
| apiVersion: v1 | |
| kind: ConfigMap | |
| metadata: | |
| labels: | |
| component: prometheus | |
| app: prometheus | |
| name: prometheus-config | |
| namespace: prometheus | |
| data: | |
| alerting_rules.yml: | | |
| {} | |
| alerts: | | |
| {} | |
| prometheus.yml: | | |
| global: | |
| evaluation_interval: 1m | |
| scrape_interval: 1m | |
| scrape_timeout: 10s | |
| rule_files: | |
| - /etc/config/recording_rules.yml | |
| - /etc/config/alerting_rules.yml | |
| - /etc/config/rules | |
| - /etc/config/alerts | |
| scrape_configs: | |
| - job_name: prometheus | |
| 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 | |
| insecure_skip_verify: true | |
| - bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| job_name: kubernetes-nodes | |
| kubernetes_sd_configs: | |
| - role: node | |
| relabel_configs: | |
| - action: labelmap | |
| regex: __meta_kubernetes_node_label_(.+) | |
| - replacement: kubernetes.default.svc:443 | |
| target_label: __address__ | |
| - regex: (.+) | |
| replacement: /api/v1/nodes/$1/proxy/metrics | |
| source_labels: | |
| - __meta_kubernetes_node_name | |
| target_label: __metrics_path__ | |
| scheme: https | |
| 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-nodes-cadvisor | |
| kubernetes_sd_configs: | |
| - role: node | |
| relabel_configs: | |
| - action: labelmap | |
| regex: __meta_kubernetes_node_label_(.+) | |
| - replacement: kubernetes.default.svc:443 | |
| target_label: __address__ | |
| - regex: (.+) | |
| replacement: /api/v1/nodes/$1/proxy/metrics/cadvisor | |
| source_labels: | |
| - __meta_kubernetes_node_name | |
| target_label: __metrics_path__ | |
| scheme: https | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| insecure_skip_verify: true | |
| - 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 | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_node_name | |
| target_label: kubernetes_node | |
| - job_name: kubernetes-service-endpoints-slow | |
| kubernetes_sd_configs: | |
| - role: endpoints | |
| relabel_configs: | |
| - action: keep | |
| regex: true | |
| source_labels: | |
| - __meta_kubernetes_service_annotation_prometheus_io_scrape_slow | |
| - 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 | |
| - action: replace | |
| source_labels: | |
| - __meta_kubernetes_pod_node_name | |
| target_label: kubernetes_node | |
| scrape_interval: 5m | |
| scrape_timeout: 30s | |
| - honor_labels: true | |
| job_name: prometheus-pushgateway | |
| kubernetes_sd_configs: | |
| - role: service | |
| relabel_configs: | |
| - action: keep | |
| regex: pushgateway | |
| source_labels: | |
| - __meta_kubernetes_service_annotation_prometheus_io_probe | |
| - job_name: kubernetes-services | |
| kubernetes_sd_configs: | |
| - role: service | |
| metrics_path: /probe | |
| params: | |
| module: | |
| - http_2xx | |
| relabel_configs: | |
| - action: keep | |
| regex: true | |
| source_labels: | |
| - __meta_kubernetes_service_annotation_prometheus_io_probe | |
| - source_labels: | |
| - __address__ | |
| target_label: __param_target | |
| - replacement: blackbox | |
| target_label: __address__ | |
| - source_labels: | |
| - __param_target | |
| target_label: instance | |
| - action: labelmap | |
| regex: __meta_kubernetes_service_label_(.+) | |
| - source_labels: | |
| - __meta_kubernetes_namespace | |
| target_label: kubernetes_namespace | |
| - source_labels: | |
| - __meta_kubernetes_service_name | |
| target_label: kubernetes_name | |
| - 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-pods-slow | |
| kubernetes_sd_configs: | |
| - role: pod | |
| relabel_configs: | |
| - action: keep | |
| regex: true | |
| source_labels: | |
| - __meta_kubernetes_pod_annotation_prometheus_io_scrape_slow | |
| - 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 | |
| scrape_interval: 5m | |
| scrape_timeout: 30s | |
| alerting: | |
| alertmanagers: | |
| - kubernetes_sd_configs: | |
| - role: pod | |
| tls_config: | |
| ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt | |
| bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token | |
| relabel_configs: | |
| - source_labels: [__meta_kubernetes_namespace] | |
| regex: prometheus | |
| action: keep | |
| - source_labels: [__meta_kubernetes_pod_label_app] | |
| regex: prometheus | |
| action: keep | |
| - source_labels: [__meta_kubernetes_pod_label_component] | |
| regex: alertmanager | |
| action: keep | |
| - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_probe] | |
| regex: .* | |
| action: keep | |
| - source_labels: [__meta_kubernetes_pod_container_port_number] | |
| regex: | |
| action: drop | |
| recording_rules.yml: | | |
| {} | |
| rules: | | |
| {} | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRole | |
| metadata: | |
| name: kube-state-metrics | |
| labels: | |
| component: kube-state-metrics | |
| app: prometheus | |
| rules: | |
| - apiGroups: ["certificates.k8s.io"] | |
| resources: | |
| - certificatesigningrequests | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - configmaps | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["batch"] | |
| resources: | |
| - cronjobs | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["extensions", "apps"] | |
| resources: | |
| - daemonsets | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["extensions", "apps"] | |
| resources: | |
| - deployments | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - endpoints | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["autoscaling"] | |
| resources: | |
| - horizontalpodautoscalers | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["extensions", "networking.k8s.io"] | |
| resources: | |
| - ingresses | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["batch"] | |
| resources: | |
| - jobs | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - limitranges | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - namespaces | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - nodes | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - persistentvolumeclaims | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - persistentvolumes | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["policy"] | |
| resources: | |
| - poddisruptionbudgets | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - pods | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["extensions", "apps"] | |
| resources: | |
| - replicasets | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - replicationcontrollers | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - resourcequotas | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - secrets | |
| verbs: ["list", "watch"] | |
| - apiGroups: [""] | |
| resources: | |
| - services | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["apps"] | |
| resources: | |
| - statefulsets | |
| verbs: ["list", "watch"] | |
| - apiGroups: ["storage.k8s.io"] | |
| resources: | |
| - storageclasses | |
| verbs: ["list", "watch"] | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRole | |
| metadata: | |
| labels: | |
| component: alertmanager | |
| app: prometheus | |
| name: alertmanager | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRole | |
| metadata: | |
| labels: | |
| component: prometheus | |
| app: prometheus | |
| name: prometheus | |
| rules: | |
| - apiGroups: | |
| - "" | |
| resources: | |
| - nodes | |
| - nodes/proxy | |
| - nodes/metrics | |
| - services | |
| - endpoints | |
| - pods | |
| - ingresses | |
| - configmaps | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - apiGroups: | |
| - "extensions" | |
| resources: | |
| - ingresses/status | |
| - ingresses | |
| verbs: | |
| - get | |
| - list | |
| - watch | |
| - nonResourceURLs: | |
| - "/metrics" | |
| verbs: | |
| - get | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| labels: | |
| component: kube-state-metrics | |
| app: prometheus | |
| 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 | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| labels: | |
| component: alertmanager | |
| app: prometheus | |
| name: alertmanager | |
| subjects: | |
| - kind: ServiceAccount | |
| name: alertmanager | |
| namespace: prometheus | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: alertmanager | |
| --- | |
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |
| kind: ClusterRoleBinding | |
| metadata: | |
| labels: | |
| component: prometheus | |
| app: prometheus | |
| name: prometheus | |
| subjects: | |
| - kind: ServiceAccount | |
| name: prometheus | |
| namespace: prometheus | |
| roleRef: | |
| apiGroup: rbac.authorization.k8s.io | |
| kind: ClusterRole | |
| name: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| name: kube-state-metrics | |
| namespace: prometheus | |
| labels: | |
| app: prometheus | |
| component: kube-state-metrics | |
| annotations: | |
| prometheus.io/scrape: 'true' | |
| spec: | |
| type: "ClusterIP" | |
| ports: | |
| - name: "http" | |
| protocol: TCP | |
| port: 8080 | |
| targetPort: 8080 | |
| selector: | |
| component: kube-state-metrics | |
| app: prometheus | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| labels: | |
| component: alertmanager | |
| app: prometheus | |
| name: alertmanager | |
| namespace: prometheus | |
| spec: | |
| ports: | |
| - name: http | |
| port: 80 | |
| protocol: TCP | |
| targetPort: 9093 | |
| selector: | |
| component: alertmanager | |
| app: prometheus | |
| sessionAffinity: None | |
| type: "ClusterIP" | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| annotations: | |
| prometheus.io/scrape: "true" | |
| labels: | |
| component: node-exporter | |
| app: prometheus | |
| name: node-exporter | |
| namespace: prometheus | |
| spec: | |
| clusterIP: None | |
| ports: | |
| - name: metrics | |
| port: 9100 | |
| protocol: TCP | |
| targetPort: 9100 | |
| selector: | |
| component: node-exporter | |
| app: prometheus | |
| type: "ClusterIP" | |
| --- | |
| apiVersion: v1 | |
| kind: Service | |
| metadata: | |
| labels: | |
| component: prometheus | |
| app: prometheus | |
| name: prometheus | |
| namespace: prometheus | |
| spec: | |
| ports: | |
| - name: http | |
| port: 80 | |
| protocol: TCP | |
| targetPort: 9090 | |
| selector: | |
| component: prometheus | |
| app: prometheus | |
| sessionAffinity: None | |
| type: "ClusterIP" | |
| --- | |
| apiVersion: apps/v1 | |
| kind: DaemonSet | |
| metadata: | |
| labels: | |
| component: node-exporter | |
| app: prometheus | |
| name: node-exporter | |
| namespace: prometheus | |
| spec: | |
| selector: | |
| matchLabels: | |
| component: node-exporter | |
| app: prometheus | |
| updateStrategy: | |
| type: RollingUpdate | |
| template: | |
| metadata: | |
| labels: | |
| component: node-exporter | |
| app: prometheus | |
| spec: | |
| tolerations: | |
| - operator: Exists | |
| effect: NoSchedule | |
| serviceAccountName: node-exporter | |
| containers: | |
| - name: node-exporter | |
| image: "prom/node-exporter:v0.18.1" | |
| imagePullPolicy: "IfNotPresent" | |
| args: | |
| - --path.procfs=/host/proc | |
| - --path.sysfs=/host/sys | |
| ports: | |
| - name: metrics | |
| containerPort: 9100 | |
| hostPort: 9100 | |
| resources: | |
| {} | |
| volumeMounts: | |
| - name: proc | |
| mountPath: /host/proc | |
| readOnly: true | |
| - name: sys | |
| mountPath: /host/sys | |
| readOnly: true | |
| hostNetwork: true | |
| hostPID: true | |
| volumes: | |
| - name: proc | |
| hostPath: | |
| path: /proc | |
| - name: sys | |
| hostPath: | |
| path: /sys | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| name: kube-state-metrics | |
| namespace: prometheus | |
| labels: | |
| app: prometheus | |
| component: kube-state-metrics | |
| spec: | |
| selector: | |
| matchLabels: | |
| app: prometheus | |
| component: kube-state-metrics | |
| replicas: 1 | |
| template: | |
| metadata: | |
| labels: | |
| app: prometheus | |
| component: kube-state-metrics | |
| spec: | |
| hostNetwork: false | |
| serviceAccountName: kube-state-metrics | |
| securityContext: | |
| fsGroup: 65534 | |
| runAsUser: 65534 | |
| containers: | |
| - name: kube-state-metrics | |
| args: | |
| - --collectors=certificatesigningrequests | |
| - --collectors=configmaps | |
| - --collectors=cronjobs | |
| - --collectors=daemonsets | |
| - --collectors=deployments | |
| - --collectors=endpoints | |
| - --collectors=horizontalpodautoscalers | |
| - --collectors=ingresses | |
| - --collectors=jobs | |
| - --collectors=limitranges | |
| - --collectors=namespaces | |
| - --collectors=nodes | |
| - --collectors=persistentvolumeclaims | |
| - --collectors=persistentvolumes | |
| - --collectors=poddisruptionbudgets | |
| - --collectors=pods | |
| - --collectors=replicasets | |
| - --collectors=replicationcontrollers | |
| - --collectors=resourcequotas | |
| - --collectors=secrets | |
| - --collectors=services | |
| - --collectors=statefulsets | |
| - --collectors=storageclasses | |
| imagePullPolicy: IfNotPresent | |
| image: "quay.io/coreos/kube-state-metrics:v1.9.5" | |
| ports: | |
| - containerPort: 8080 | |
| livenessProbe: | |
| httpGet: | |
| path: /healthz | |
| port: 8080 | |
| initialDelaySeconds: 5 | |
| timeoutSeconds: 5 | |
| readinessProbe: | |
| httpGet: | |
| path: / | |
| port: 8080 | |
| initialDelaySeconds: 5 | |
| timeoutSeconds: 5 | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| labels: | |
| component: alertmanager | |
| app: prometheus | |
| name: alertmanager | |
| namespace: prometheus | |
| spec: | |
| selector: | |
| matchLabels: | |
| component: alertmanager | |
| app: prometheus | |
| replicas: 1 | |
| template: | |
| metadata: | |
| labels: | |
| component: alertmanager | |
| app: prometheus | |
| spec: | |
| serviceAccountName: alertmanager | |
| containers: | |
| - name: alertmanager | |
| image: "prom/alertmanager:v0.20.0" | |
| imagePullPolicy: "IfNotPresent" | |
| env: | |
| - name: POD_IP | |
| valueFrom: | |
| fieldRef: | |
| apiVersion: v1 | |
| fieldPath: status.podIP | |
| args: | |
| - --config.file=/etc/config/alertmanager.yml | |
| - --storage.path=/data | |
| - --cluster.advertise-address=$(POD_IP):6783 | |
| - --web.external-url=http://localhost:9093 | |
| ports: | |
| - containerPort: 9093 | |
| readinessProbe: | |
| httpGet: | |
| path: /-/ready | |
| port: 9093 | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 30 | |
| resources: | |
| {} | |
| volumeMounts: | |
| - name: config-volume | |
| mountPath: /etc/config | |
| - name: storage-volume | |
| mountPath: "/data" | |
| subPath: "" | |
| - name: alertmanager-configmap-reload | |
| image: "jimmidyson/configmap-reload:v0.3.0" | |
| imagePullPolicy: "IfNotPresent" | |
| args: | |
| - --volume-dir=/etc/config | |
| - --webhook-url=http://127.0.0.1:9093/-/reload | |
| resources: | |
| {} | |
| volumeMounts: | |
| - name: config-volume | |
| mountPath: /etc/config | |
| readOnly: true | |
| securityContext: | |
| fsGroup: 65534 | |
| runAsGroup: 65534 | |
| runAsNonRoot: true | |
| runAsUser: 65534 | |
| volumes: | |
| - name: config-volume | |
| configMap: | |
| name: alertmanager-config | |
| - name: storage-volume | |
| emptyDir: {} | |
| --- | |
| apiVersion: apps/v1 | |
| kind: Deployment | |
| metadata: | |
| labels: | |
| component: prometheus | |
| app: prometheus | |
| name: prometheus | |
| namespace: prometheus | |
| spec: | |
| selector: | |
| matchLabels: | |
| component: prometheus | |
| app: prometheus | |
| replicas: 1 | |
| template: | |
| metadata: | |
| labels: | |
| component: prometheus | |
| app: prometheus | |
| spec: | |
| serviceAccountName: prometheus | |
| containers: | |
| - name: prometheus-configmap-reload | |
| image: "jimmidyson/configmap-reload:v0.3.0" | |
| imagePullPolicy: "IfNotPresent" | |
| args: | |
| - --volume-dir=/etc/config | |
| - --webhook-url=http://127.0.0.1:9090/-/reload | |
| resources: | |
| {} | |
| volumeMounts: | |
| - name: config-volume | |
| mountPath: /etc/config | |
| readOnly: true | |
| - name: prometheus | |
| image: "prom/prometheus:v2.16.0" | |
| imagePullPolicy: "IfNotPresent" | |
| args: | |
| - --storage.tsdb.retention.time=15d | |
| - --config.file=/etc/config/prometheus.yml | |
| - --storage.tsdb.path=/data | |
| - --web.console.libraries=/etc/prometheus/console_libraries | |
| - --web.console.templates=/etc/prometheus/consoles | |
| - --web.enable-lifecycle | |
| ports: | |
| - containerPort: 9090 | |
| readinessProbe: | |
| httpGet: | |
| path: /-/ready | |
| port: 9090 | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 30 | |
| failureThreshold: 3 | |
| successThreshold: 1 | |
| livenessProbe: | |
| httpGet: | |
| path: /-/healthy | |
| port: 9090 | |
| initialDelaySeconds: 30 | |
| timeoutSeconds: 30 | |
| failureThreshold: 3 | |
| successThreshold: 1 | |
| resources: | |
| {} | |
| volumeMounts: | |
| - name: config-volume | |
| mountPath: /etc/config | |
| - name: storage-volume | |
| mountPath: /data | |
| subPath: "" | |
| securityContext: | |
| fsGroup: 65534 | |
| runAsGroup: 65534 | |
| runAsNonRoot: true | |
| runAsUser: 65534 | |
| terminationGracePeriodSeconds: 300 | |
| volumes: | |
| - name: config-volume | |
| configMap: | |
| name: prometheus-config | |
| - name: storage-volume | |
| emptyDir: {} | |
| --- | |
| apiVersion: networking.k8s.io/v1beta1 | |
| kind: Ingress | |
| metadata: | |
| name: prometheus | |
| namespace: prometheus | |
| labels: | |
| app: prometheus | |
| component: prometheus | |
| spec: | |
| rules: | |
| - host: prometheus.apps.mdlwr.se | |
| http: | |
| paths: | |
| - path: / | |
| backend: | |
| serviceName: prometheus | |
| servicePort: 80 | |
| --- | |
| apiVersion: networking.k8s.io/v1beta1 | |
| kind: Ingress | |
| metadata: | |
| name: alertmanager | |
| namespace: prometheus | |
| labels: | |
| app: prometheus | |
| component: alertmanager | |
| spec: | |
| rules: | |
| - host: alertmanager.apps.mdlwr.se | |
| http: | |
| paths: | |
| - path: / | |
| backend: | |
| serviceName: alertmanager | |
| servicePort: 80 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment