Browse Source

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
pull/2547/head
Vladimir Vasilkin 6 years ago
parent
commit
19e1b11d98
4 changed files with 39 additions and 1 deletions
  1. 8
      inventory/sample/group_vars/k8s-cluster.yml
  2. 6
      roles/kubernetes-apps/meta/main.yml
  3. 9
      roles/kubernetes-apps/metrics/defaults/main.yml
  4. 17
      roles/kubernetes-apps/metrics/tasks/main.yml

8
inventory/sample/group_vars/k8s-cluster.yml

@ -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

6
roles/kubernetes-apps/meta/main.yml

@ -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

9
roles/kubernetes-apps/metrics/defaults/main.yml

@ -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"

17
roles/kubernetes-apps/metrics/tasks/main.yml

@ -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
Loading…
Cancel
Save