Skip to content

Commit 459e792

Browse files
committed
Playbook to install kube-prometheus-stack
1 parent 2fdcb58 commit 459e792

File tree

4 files changed

+132
-0
lines changed

4 files changed

+132
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
- name: Deploy kube-prometheus-stack to Kubernetes
3+
hosts: masters
4+
gather_facts: no
5+
become: yes
6+
7+
pre_tasks:
8+
- name: Ensure kubernetes.core collection is installed
9+
command: ansible-galaxy collection install kubernetes.core
10+
changed_when: false
11+
delegate_to: "{{ groups['masters'][0] }}"
12+
become: no
13+
14+
- name: Download Helm install script
15+
ansible.builtin.get_url:
16+
url: https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
17+
dest: /tmp/get_helm.sh
18+
mode: '0700'
19+
delegate_to: "{{ groups['masters'][0] }}"
20+
21+
- name: Run Helm install script
22+
command: /tmp/get_helm.sh
23+
delegate_to: "{{ groups['masters'][0] }}"
24+
25+
roles:
26+
- role: install-monitoring
27+
name: Deploy kube-prometheus-stack
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
#Default vars for install-monitoring role
2+
---
3+
helm_release_name: k8s-monitoring
4+
helm_chart_name: prometheus-community/kube-prometheus-stack
5+
helm_chart_version: "78.4.0"
6+
helm_namespace: monitoring
7+
helm_repo_name: prometheus-community
8+
helm_repo_url: https://prometheus-community.github.io/helm-charts
9+
helm_custom_values: "power-custom-values.yaml"
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
grafana:
2+
image:
3+
registry: quay.io
4+
repository: powercloud/grafana
5+
tag: v12.1.0
6+
pullPolicy: IfNotPresent
7+
8+
service:
9+
type: NodePort
10+
portName: http-web
11+
ipFamilies: []
12+
ipFamilyPolicy: ""
13+
port: 3000
14+
targetPort: 3000
15+
16+
adminUser: admin
17+
adminPassword: prom-operator
18+
19+
nodeSelector:
20+
kubernetes.io/role: infra
21+
22+
prometheusOperator:
23+
admissionWebhooks:
24+
deployment:
25+
nodeSelector:
26+
kubernetes.io/role: infra
27+
28+
patch:
29+
enabled: true
30+
image:
31+
registry: quay.io
32+
repository: powercloud/kube-webhook-certgen
33+
tag: v1.6.3
34+
35+
nodeSelector:
36+
kubernetes.io/role: infra
37+
38+
prometheus:
39+
prometheusSpec:
40+
retention: 14d
41+
nodeSelector:
42+
kubernetes.io/role: infra
43+
44+
crds:
45+
upgradeJob:
46+
nodeSelector:
47+
kubernetes.io/role: infra
48+
49+
alertmanager:
50+
alertmanagerSpec:
51+
nodeSelector:
52+
kubernetes.io/role: infra
53+
54+
kube-state-metrics:
55+
nodeSelector:
56+
kubernetes.io/role: infra
57+
58+
thanosRuler:
59+
thanosRulerSpec:
60+
nodeSelector:
61+
kubernetes.io/role: infra
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
---
2+
- name: Ensure namespace exists
3+
command: kubectl create namespace {{ helm_namespace }}
4+
ignore_errors: yes # Ignore error if namespace already exists
5+
6+
- name: Ensure Helm repository is added
7+
kubernetes.core.helm_repository:
8+
name: "{{ helm_repo_name }}"
9+
repo_url: "{{ helm_repo_url }}"
10+
state: present
11+
delegate_to: "{{ groups['masters'][0] }}"
12+
13+
- name: Copy IBM Power specific helm chart values files
14+
copy:
15+
src: "{{ helm_custom_values }}"
16+
dest: /tmp/
17+
18+
- name: Install or upgrade kube-prometheus-stack chart
19+
kubernetes.core.helm:
20+
update_repo_cache: yes
21+
name: "{{ helm_release_name }}"
22+
chart_ref: "{{ helm_chart_name }}"
23+
namespace: "{{ helm_namespace }}"
24+
chart_version: "{{ helm_chart_version }}"
25+
values_files:
26+
- "/tmp/power-custom-values.yaml"
27+
timeout: 10m
28+
set_values:
29+
- value: grafana.adminUser={{ grafana_admin_user }}
30+
value_type: string
31+
- value: grafana.adminPassword={{ grafana_admin_password }}
32+
value_type: string
33+
state: present
34+
delegate_to: "{{ groups['masters'][0] }}"
35+

0 commit comments

Comments
 (0)