Skip to content

Commit 2e16a45

Browse files
fix expose infra metrics script
Signed-off-by: JooYoung Park <jooyoung.park73@gmail.com>
1 parent 2ec56b5 commit 2e16a45

File tree

2 files changed

+63
-53
lines changed

2 files changed

+63
-53
lines changed

config/prometh_values_kn.yaml

Lines changed: 58 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,19 @@ alertmanager:
55
serviceMonitor:
66
interval: "15s"
77
alertmanagerSpec:
8+
affinity:
9+
nodeAffinity:
10+
requiredDuringSchedulingIgnoredDuringExecution:
11+
nodeSelectorTerms:
12+
- matchExpressions:
13+
- key: loader-nodetype
14+
operator: In
15+
values:
16+
- monitoring
17+
- singlenode
18+
19+
grafana:
20+
affinity:
821
nodeAffinity:
922
requiredDuringSchedulingIgnoredDuringExecution:
1023
nodeSelectorTerms:
@@ -14,17 +27,6 @@ alertmanager:
1427
values:
1528
- monitoring
1629
- singlenode
17-
18-
grafana:
19-
nodeAffinity:
20-
requiredDuringSchedulingIgnoredDuringExecution:
21-
nodeSelectorTerms:
22-
- matchExpressions:
23-
- key: loader-nodetype
24-
operator: In
25-
values:
26-
- monitoring
27-
- singlenode
2830
serviceMonitor:
2931
interval: "15s"
3032
scrapeTimeout: "15s" # Cannot be larger than Prometheus scrape intervals
@@ -68,15 +70,16 @@ kubeProxy:
6870
interval: "15s"
6971

7072
kube-state-metrics:
71-
nodeAffinity:
72-
requiredDuringSchedulingIgnoredDuringExecution:
73-
nodeSelectorTerms:
74-
- matchExpressions:
75-
- key: loader-nodetype
76-
operator: In
77-
values:
78-
- monitoring
79-
- singlenode
73+
affinity:
74+
nodeAffinity:
75+
requiredDuringSchedulingIgnoredDuringExecution:
76+
nodeSelectorTerms:
77+
- matchExpressions:
78+
- key: loader-nodetype
79+
operator: In
80+
values:
81+
- monitoring
82+
- singlenode
8083
metricLabelsAllowlist:
8184
- pods=[*]
8285
- deployments=[app.kubernetes.io/name,app.kubernetes.io/component,app.kubernetes.io/instance]
@@ -85,29 +88,32 @@ kube-state-metrics:
8588
interval: "15s"
8689

8790
prometheus-node-exporter:
91+
service:
92+
listenOnAllInterfaces: false
8893
prometheus:
8994
monitor:
9095
interval: "15s"
9196

9297
prometheusOperator:
9398
admissionWebhooks:
9499
deployment:
95-
nodeAffinity:
96-
requiredDuringSchedulingIgnoredDuringExecution:
97-
nodeSelectorTerms:
98-
- matchExpressions:
99-
- key: loader-nodetype
100-
operator: In
101-
values:
102-
- monitoring
103-
- singlenode
100+
affinity:
101+
nodeAffinity:
102+
requiredDuringSchedulingIgnoredDuringExecution:
103+
nodeSelectorTerms:
104+
- matchExpressions:
105+
- key: loader-nodetype
106+
operator: In
107+
values:
108+
- monitoring
109+
- singlenode
104110
patch:
105-
resources:
111+
resources:
106112
limits:
107113
cpu: 1
108114
memory: 5Gi
109115
requests:
110-
memory: 150Mi
116+
memory: 150Mi
111117
nodeAffinity:
112118
requiredDuringSchedulingIgnoredDuringExecution:
113119
nodeSelectorTerms:
@@ -127,15 +133,16 @@ prometheusOperator:
127133
requests:
128134
cpu: 100m
129135
memory: 100Mi
130-
nodeAffinity:
131-
requiredDuringSchedulingIgnoredDuringExecution:
132-
nodeSelectorTerms:
133-
- matchExpressions:
134-
- key: loader-nodetype
135-
operator: In
136-
values:
137-
- monitoring
138-
- singlenode
136+
affinity:
137+
nodeAffinity:
138+
requiredDuringSchedulingIgnoredDuringExecution:
139+
nodeSelectorTerms:
140+
- matchExpressions:
141+
- key: loader-nodetype
142+
operator: In
143+
values:
144+
- monitoring
145+
- singlenode
139146

140147
prometheusConfigReloader:
141148
resources:
@@ -151,16 +158,18 @@ prometheus:
151158
interval: "15s"
152159

153160
prometheusSpec:
161+
maximumStartupDurationSeconds: 60
154162
scrapeInterval: "15s"
155-
nodeAffinity:
156-
requiredDuringSchedulingIgnoredDuringExecution:
157-
nodeSelectorTerms:
158-
- matchExpressions:
159-
- key: loader-nodetype
160-
operator: In
161-
values:
162-
- monitoring
163-
- singlenode
163+
affinity:
164+
nodeAffinity:
165+
requiredDuringSchedulingIgnoredDuringExecution:
166+
nodeSelectorTerms:
167+
- matchExpressions:
168+
- key: loader-nodetype
169+
operator: In
170+
values:
171+
- monitoring
172+
- singlenode
164173
serviceMonitorSelectorNilUsesHelmValues: false
165174
podMonitorSelectorNilUsesHelmValues: false
166175
walCompression: false

scripts/setup/expose_infra_metrics.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ server_exec() {
3434
server_exec 'sudo apt install htop'
3535

3636
#* Deploy Metrics Server to k8s in namespace kube-system.
37-
metrics_server_version="v0.7.1"
37+
metrics_server_version="v0.7.2"
3838
server_exec "kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/download/${metrics_server_version}/components.yaml"
3939
server_exec "kubectl patch deployment metrics-server -n kube-system --type='json' -p='[{"op": "add", "path": "/spec/template/spec/containers/0/args/-", "value": "--kubelet-insecure-tls=true"}]'"
4040

@@ -46,14 +46,15 @@ server_exec() {
4646

4747
server_exec 'kubectl create namespace monitoring'
4848
release_label="prometheus"
49-
prometheus_chart_version="60.1.0"
49+
prometheus_chart_version="72.6.2"
5050
server_exec "cd loader; helm install -n monitoring $release_label --version $prometheus_chart_version prometheus-community/kube-prometheus-stack -f config/prometh_values_kn.yaml"
5151

5252
#* Apply the ServiceMonitors/PodMonitors to collect metrics from Knative.
5353
#* The ports of the control manager and scheduler are mapped in a way that prometheus default installation can find them.
5454
#* Also apply the grafana dashboards for Knative.
55-
server_exec "curl -s https://raw.githubusercontent.com/knative-extensions/monitoring/main/servicemonitor.yaml | sed 's/interval: 30s/interval: 2s/g' | kubectl apply -f -"
56-
server_exec 'kubectl apply -f https://raw.githubusercontent.com/knative-extensions/monitoring/main/grafana/dashboards.yaml'
55+
commit_version="https://raw.githubusercontent.com/knative-extensions/monitoring/2427116e8e3cf0c65118c42a7f586490a1bb3ec2"
56+
server_exec "curl -sL $commit_version/config/serving-monitors.yaml | sed 's/interval: 30s/interval: 2s/g' | kubectl apply -f -"
57+
server_exec "curl -sL $commit_version/config/configmap-serving-dashboard.json | sed 's/"namespace": "knative-serving"/"namespace": "monitoring"/g' | kubectl apply -f -"
5758

5859
#* Bind addresses of the control manager and scheduler to "0.0.0.0" so that prometheus can scrape them from any domains.
5960
server_exec 'cd loader; sudo kubeadm upgrade apply --config config/kubeadm_init.yaml --ignore-preflight-errors all --force --v=7'

0 commit comments

Comments
 (0)