prometheus operator, metrics for k8s cluster

install using Helm:
- Prometheus Operator
- metrics for k8s cluster including: grafana dashboard, alertmanager, node exporters

base project:
https://github.com/coreos/prometheus-operator

the issue:
https://github.com/kubernetes-incubator/kubespray/issues/2042

Previous PR, raw ansible without Helm:
https://github.com/kubernetes-incubator/kubespray/pull/2499
This commit is contained in:
Vladimir Vasilkin 2018-03-28 21:23:30 +03:00
parent 03117d9572
commit 19e1b11d98
4 changed files with 39 additions and 1 deletions

View file

@ -163,9 +163,15 @@ dashboard_enabled: true
# Monitoring apps for k8s
efk_enabled: false
# Helm deployment
# Helm deployment. Needs for Prometheus Operator, k8s metrics.
helm_enabled: false
# Prometheus Operator. Needs for k8s metrics. Installed Helm is required.
prometheus_operator_enabled: false
# K8s cluster metrics. Installed Helm and Prometheus Operator are required.
k8s_metrics_enabled: false
# Istio deployment
istio_enabled: false

View file

@ -27,6 +27,12 @@ dependencies:
- apps
- registry
- role: kubernetes-apps/metrics
when: prometheus_operator_enabled
tags:
- apps
- metrics
# istio role should be last because it takes a long time to initialize and
# will cause timeouts trying to start other addons.
- role: kubernetes-apps/istio

View file

@ -0,0 +1,9 @@
---
# Prometheus Operator. Needs for k8s metrics. Installed Helm is required.
prometheus_operator_enabled: false
# K8s cluster metrics. Installed Helm and Prometheus Operators are required.
k8s_metrics_enabled: false
# Separate namespace for monitoring/metrics
monitoring_namespace: "monitoring"

View file

@ -0,0 +1,17 @@
---
- name: Metrics | Make sure Helm is installed
command: "{{ bin_dir }}/helm version"
- name: Metrics | Add coreos repo
command: "{{ bin_dir }}/helm repo add coreos https://s3-eu-west-1.amazonaws.com/coreos-charts/stable/"
run_once: true
- name: Metrics | Install Prometheus Operator
command: "{{ bin_dir }}/helm upgrade --install prometheus-operator coreos/prometheus-operator --namespace {{ monitoring_namespace }}"
when: prometheus_operator_enabled
run_once: true
- name: Metrics | Install K8s cluster metrics
command: "{{ bin_dir }}/helm upgrade --install kube-prometheus coreos/kube-prometheus --namespace {{ monitoring_namespace }}"
when: k8s_metrics_enabled
run_once: true