Skip to content

Commit 74bd3ba

Browse files
committed
Removed grafana servicemonitor and moved nodeports to helm config
1 parent 01718ee commit 74bd3ba

File tree

5 files changed

+19
-58
lines changed

5 files changed

+19
-58
lines changed

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

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,9 @@ kube_prometheus_stack_release_defaults:
5252
KubeProxyDown: true
5353
KubeControllerManagerDown: true
5454
prometheus:
55+
service:
56+
type: NodePort
57+
nodePort: "{{ prometheus_port }}"
5558
prometheusSpec:
5659
externalUrl: "{{ kube_prometheus_stack_prometheus_external_url }}"
5760
podMonitorSelectorNilUsesHelmValues: false
@@ -92,9 +95,12 @@ kube_prometheus_stack_release_defaults:
9295

9396
grafana:
9497
service:
95-
port: "{{ grafana_port }}"
98+
type: NodePort
99+
nodePort: "{{ grafana_port }}"
100+
serviceMonitor:
101+
enabled: false
96102
ingress:
97-
path: /node/{{ groups['grafana'].0 }}/30001
103+
path: "/node/{{ groups['grafana'].0 }}/{{ grafana_port }}"
98104
sidecar:
99105
dashboards:
100106
searchNamespace: ALL
@@ -127,6 +133,9 @@ kube_prometheus_stack_release_defaults:
127133
env: "{{ grafana_environment }}"
128134

129135
alertmanager:
136+
service:
137+
type: NodePort
138+
nodePort: "{{ alertmanager_port }}"
130139
# Don't apply the namespace grouping by default
131140
config: "{{ alertmanager_config }}"
132141
alertmanagerSpec:

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

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,11 @@ alertmanager_config:
4545

4646
alertmanager_replicas: 1
4747

48+
# Must be within K3s' reserved port range (default 30000-32767)
49+
prometheus_port: 30000
50+
grafana_port: 30001
51+
alertmanager_port: 30002
52+
4853
### PREVIOUS ROLE VALUES
4954

5055
prometheus_image_tag: "v2.27.0"
@@ -94,7 +99,7 @@ prometheus_alert_relabel_configs: []
9499
# regex: replica
95100

96101
prometheus_global:
97-
scrape_interval: 15s
102+
scrape_interval: 30s
98103
scrape_timeout: 10s
99104
evaluation_interval: 15s
100105

@@ -121,10 +126,6 @@ prometheus_scrape_configs:
121126
static_configs:
122127
- targets:
123128
- "{{ control_ip }}:{{ slurm_exporter_port }}"
124-
- job_name: "grafana"
125-
static_configs:
126-
- targets:
127-
- "kube-prometheus-stack-grafana:{{ grafana_port }}"
128129

129130
# Alternative config file name, searched in ansible templates path.
130131
# prometheus_config_file: 'prometheus.yml.j2'
@@ -273,8 +274,6 @@ grafana_instance: "{{ ansible_fqdn | default(ansible_host) | default(inventory_h
273274

274275
grafana_data_dir: "/var/lib/grafana"
275276

276-
grafana_port: 80
277-
278277
# Additional options for grafana "server" section
279278
# This section WILL omit options for: http_addr, http_port, domain, and root_url, as those settings are set by variables listed before
280279
# grafana_server:

ansible/roles/kube_prometheus_stack/tasks/main.yml

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -193,46 +193,3 @@
193193
create_namespace: no
194194
wait: yes
195195
wait_timeout: "{{ kube_prometheus_stack_wait_timeout }}"
196-
197-
# Again can't loop through these because the k8s module doesn't like templating ints
198-
- name: Opening NodePort for Prometheus
199-
kubernetes.core.k8s:
200-
namespace: "{{ kube_prometheus_stack_release_namespace }}"
201-
name: prometheus-external
202-
definition:
203-
kind: Service
204-
spec:
205-
type: NodePort
206-
selector:
207-
app.kubernetes.io/name: prometheus
208-
ports:
209-
- port: 9090
210-
nodePort: 30000
211-
212-
- name: Opening NodePort for Grafana
213-
kubernetes.core.k8s:
214-
namespace: "{{ kube_prometheus_stack_release_namespace }}"
215-
name: grafana-external
216-
definition:
217-
kind: Service
218-
spec:
219-
type: NodePort
220-
selector:
221-
app.kubernetes.io/name: grafana
222-
ports:
223-
- port: 3000
224-
nodePort: 30001
225-
226-
- name: Opening NodePort for Alertmanager
227-
kubernetes.core.k8s:
228-
namespace: "{{ kube_prometheus_stack_release_namespace }}"
229-
name: alertmanager-external
230-
definition:
231-
kind: Service
232-
spec:
233-
type: NodePort
234-
selector:
235-
app.kubernetes.io/name: alertmanager
236-
ports:
237-
- port: 9093
238-
nodePort: 30002

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
grafana_version: '9.5.21'
66

77
# need to copy some role defaults here so we can use in inventory:
8-
grafana_port: 80
8+
grafana_port: 30001
99

1010
# Define where state is stored
1111
grafana_data_dir: "{{ appliances_state_dir | default('/var/lib') }}/grafana"
@@ -16,7 +16,7 @@ grafana_api_url: "http://{{ grafana_api_address }}:{{ grafana_port }}"
1616

1717
# Configure external address, with external URL depending on whether we are using Open Ondemand as a proxy
1818
grafana_url_direct: "http://{{ grafana_address }}:{{ grafana_port }}"
19-
grafana_url_openondemand_proxy: "https://{{ openondemand_servername | default('') }}/node/{{ groups['grafana'].0 }}/30001"
19+
grafana_url_openondemand_proxy: "https://{{ openondemand_servername | default('') }}/node/{{ groups['grafana'].0 }}/{{ grafana_port }}"
2020
grafana_url: "{{ grafana_url_openondemand_proxy if groups['openondemand'] | count > 0 else grafana_url_direct }}"
2121
grafana_serve_from_sub_path: "{{ groups['openondemand'] | count > 0 }}"
2222

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

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,6 @@ prometheus_scrape_configs_default:
2828
static_configs:
2929
- targets:
3030
- "{{ control_ip }}:{{ slurm_exporter_port }}"
31-
- job_name: "grafana"
32-
static_configs:
33-
- targets:
34-
- "kube-prometheus-stack-grafana:80"
3531

3632
kube_prometheus_stack_release_namespace: monitoring-system
3733

0 commit comments

Comments
 (0)