Skip to content

Commit f93348e

Browse files
committed
monitoring stack images now pre-pulled
1 parent ce90ab0 commit f93348e

File tree

8 files changed

+69
-0
lines changed

8 files changed

+69
-0
lines changed

ansible/fatimage.yml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,39 @@
114114
slurm_exporter_state: stopped
115115
when: "'slurm_exporter' in group_names"
116116

117+
- hosts: builder
118+
name: Pre-pull kube-prometheus-stack images and import to k3s
119+
vars:
120+
image_list:
121+
- { name: "docker.io/grafana/grafana", tag: "{{ grafana_image_tag }}" }
122+
- { name: "quay.io/prometheus/prometheus", tag: "{{ prometheus_image_tag }}" }
123+
- { name: "quay.io/prometheus/alertmanager", tag: "{{ alertmanager_image_tag }}" }
124+
- { name: "quay.io/prometheus-operator/node-exporter", tag: "{{ node_exporter_image_tag }}" }
125+
- { name: "quay.io/prometheus-operator/prometheus-config-reloader", tag: "{{ kube_prometheus_stack_app_version }}" }
126+
- { name: "quay.io/prometheus-operator/prometheus-operator", tag: "{{ kube_prometheus_stack_app_version }}" }
127+
- { name: "quay.io/kiwigrid/k8s-sidecar", tag: "{{ grafana_sidecar_image_tag }}" }
128+
- { name: "registry.k8s.io/kube-state-metrics/kube-state-metrics", tag: "{{ kube_prometheus_stack_metrics_image_tag }}" }
129+
- { name: "registry.k8s.io/ingress-nginx/kube-webhook-certgen", tag: "{{ kube_prometheus_stack_patch_image_tag }}" }
130+
tasks:
131+
- name: Pull with images with podman
132+
containers.podman.podman_image:
133+
name: "{{ item.name }}"
134+
tag: "{{ item.tag }}"
135+
loop: "{{ image_list }}"
136+
137+
- name: Export images to k3s
138+
containers.podman.podman_save:
139+
image: "{{ item.name }}:{{ item.tag }}"
140+
dest: "/var/lib/rancher/k3s/agent/images/{{ item.name | regex_replace('\\/|\\.','-')}}.tar"
141+
loop: "{{ image_list }}"
142+
143+
- name: Clean up podman images
144+
containers.podman.podman_image:
145+
state: absent
146+
name: "{{ item.name }}"
147+
tag: "{{ item.tag }}"
148+
loop: "{{ image_list }}"
149+
117150
- name: Run post.yml hook
118151
vars:
119152
appliances_environment_root: "{{ lookup('env', 'APPLIANCES_ENVIRONMENT_ROOT') }}"

ansible/roles/kube_prometheus_stack/defaults/main/helm.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,8 @@ kube_prometheus_stack_release_defaults:
100100
ingress:
101101
path: "/node/{{ groups['prometheus'].0 }}/{{ grafana_port }}"
102102
sidecar:
103+
image:
104+
tag: "{{ grafana_sidecar_image_tag }}"
103105
dashboards:
104106
searchNamespace: ALL
105107
grafana.ini:
@@ -147,10 +149,21 @@ kube_prometheus_stack_release_defaults:
147149

148150

149151
prometheusOperator:
152+
image:
153+
tag: "{{ kube_prometheus_stack_app_version }}"
154+
prometheusConfigReloader:
155+
image:
156+
tag: "{{ kube_prometheus_stack_app_version }}"
157+
admissionWebhooks:
158+
patch:
159+
image:
160+
tag: "{{ kube_prometheus_stack_patch_image_tag }}"
150161
nodeSelector:
151162
clusterrole: "server"
152163

153164
kube-state-metrics:
165+
image:
166+
tag: "{{ kube_prometheus_stack_metrics_image_tag }}"
154167
nodeSelector:
155168
clusterrole: "server"
156169

ansible/roles/kube_prometheus_stack/defaults/main/main.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
kube_prometheus_stack_chart_repo: https://prometheus-community.github.io/helm-charts
55
kube_prometheus_stack_chart_name: kube-prometheus-stack
66
kube_prometheus_stack_chart_version: 59.1.0
7+
kube_prometheus_stack_app_version: v0.74.0
78

89
# Release information
910
kube_prometheus_stack_release_namespace: monitoring-system
@@ -12,6 +13,9 @@ kube_prometheus_stack_release_name: kube-prometheus-stack
1213
# The timeout to wait for the release to become ready
1314
kube_prometheus_stack_wait_timeout: 5m
1415

16+
kube_prometheus_stack_metrics_image_tag: v2.12.0
17+
kube_prometheus_stack_patch_image_tag: v20221220-controller-v1.5.1-58-g787ea74b6
18+
1519
control_ip: "{{ hostvars[groups['control'].0].ansible_host }}"
1620

1721
grafana_auth_anonymous: false
@@ -84,6 +88,7 @@ grafana_datasources: []
8488
grafana_home_dashboard: 13427.json # node exporter slurm
8589

8690
alertmanager_image_tag: v0.27.0
91+
grafana_sidecar_image_tag: 1.26.1
8792

8893
node_exporter_image_tag: v1.8.2
8994
node_exporter_args:

environments/common/inventory/group_vars/all/alertmanager.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
alertmanager_image_tag: v0.27.0
2+
13
alertmanager_config:
24
route:
35
group_by: ['...']

environments/common/inventory/group_vars/all/grafana.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
grafana_port: 30001
2+
grafana_image_tag: 11.2.2
3+
grafana_sidecar_image_tag: 1.26.1
24

35
# Configure external address, with external URL depending on whether we are using Open Ondemand as a proxy
46
grafana_api_address: "{{ hostvars[groups['prometheus'].0].internal_address }}"

environments/common/inventory/group_vars/all/monitoring.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,13 @@ kube_prometheus_stack_release_name: kube-prometheus-stack
44
kube_prometheus_stack_wait_timeout: 5m
55

66
# See prometheus.yml, grafana.yml and alertmanager.yml for config of individual monitoring services
7+
8+
9+
# used as tag prometheus-operator image and helpers,
10+
# should be kept in sync with the appVersion provided in the Chart.yaml of whichever
11+
# kube_prometheus_stack_chart_version is used
12+
kube_prometheus_stack_app_version: v0.74.0
13+
14+
# helper images
15+
kube_prometheus_stack_metrics_image_tag: v2.12.0
16+
kube_prometheus_stack_patch_image_tag: v20221220-controller-v1.5.1-58-g787ea74b6

environments/common/inventory/group_vars/all/node_exporter.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,5 @@ node_exporter_args:
1010
- --collector.cpufreq
1111
- --collector.diskstats
1212
- --collector.filesystem
13+
14+
node_exporter_image_tag: v1.8.2

environments/common/inventory/group_vars/all/prometheus.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Must be within K3s' reserved port range (default 30000-32767)
22
prometheus_port: 30000
33

4+
prometheus_image_tag: "v2.27.0"
5+
46
prometheus_db_dir: "{{ appliances_state_dir }}/prometheus"
57
prometheus_storage_retention: "30d"
68
prometheus_storage_retention_size: "40GB"

0 commit comments

Comments
 (0)