Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions kubetest2-tf/data/k8s-ansible/install-k8s-monitoring.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
---
- name: Deploy kube-prometheus-stack to Kubernetes
hosts: masters
gather_facts: no
become: yes

pre_tasks:
- name: Ensure kubernetes.core collection is installed
command: ansible-galaxy collection install kubernetes.core
changed_when: false
delegate_to: "{{ groups['masters'][0] }}"
become: no

- name: Download Helm install script
ansible.builtin.get_url:
url: https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3
dest: /tmp/get_helm.sh
mode: '0700'
delegate_to: "{{ groups['masters'][0] }}"

- name: Run Helm install script
command: /tmp/get_helm.sh
delegate_to: "{{ groups['masters'][0] }}"

roles:
- role: install-monitoring
name: Deploy kube-prometheus-stack
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#Default vars for install-monitoring role
---
helm_release_name: k8s-monitoring
helm_chart_name: prometheus-community/kube-prometheus-stack
helm_chart_version: "78.4.0"
helm_namespace: monitoring
helm_repo_name: prometheus-community
helm_repo_url: https://prometheus-community.github.io/helm-charts
helm_custom_values: "power-custom-values.yaml"
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
grafana:
image:
registry: quay.io
repository: powercloud/grafana
tag: v12.1.0
pullPolicy: IfNotPresent

service:
type: NodePort
portName: http-web
ipFamilies: []
ipFamilyPolicy: ""
port: 3000
targetPort: 3000

adminUser: admin
adminPassword: prom-operator

nodeSelector:
kubernetes.io/role: infra

prometheusOperator:
admissionWebhooks:
deployment:
nodeSelector:
kubernetes.io/role: infra

patch:
enabled: true
image:
registry: quay.io
repository: powercloud/kube-webhook-certgen
tag: v1.6.3

nodeSelector:
kubernetes.io/role: infra

prometheus:
prometheusSpec:
retention: 14d
nodeSelector:
kubernetes.io/role: infra

crds:
upgradeJob:
nodeSelector:
kubernetes.io/role: infra

alertmanager:
alertmanagerSpec:
nodeSelector:
kubernetes.io/role: infra

kube-state-metrics:
nodeSelector:
kubernetes.io/role: infra

thanosRuler:
thanosRulerSpec:
nodeSelector:
kubernetes.io/role: infra
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
---
- name: Ensure namespace exists
command: kubectl create namespace {{ helm_namespace }}
ignore_errors: yes # Ignore error if namespace already exists

- name: Ensure Helm repository is added
kubernetes.core.helm_repository:
name: "{{ helm_repo_name }}"
repo_url: "{{ helm_repo_url }}"
state: present
delegate_to: "{{ groups['masters'][0] }}"

- name: Copy IBM Power specific helm chart values files
copy:
src: "{{ helm_custom_values }}"
dest: /tmp/

- name: Install or upgrade kube-prometheus-stack chart
kubernetes.core.helm:
update_repo_cache: yes
name: "{{ helm_release_name }}"
chart_ref: "{{ helm_chart_name }}"
namespace: "{{ helm_namespace }}"
chart_version: "{{ helm_chart_version }}"
values_files:
- "/tmp/power-custom-values.yaml"
timeout: 10m
set_values:
- value: grafana.adminUser={{ grafana_admin_user }}
value_type: string
- value: grafana.adminPassword={{ grafana_admin_password }}
value_type: string
state: present
delegate_to: "{{ groups['masters'][0] }}"