Skip to content

Commit 09b66ab

Browse files
ROX-28976: Optimize berserker load in long running cluster (#64)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent cc8a957 commit 09b66ab

3 files changed

Lines changed: 93 additions & 4 deletions

File tree

release/start-kube-burner/start-kube-burner.sh

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,6 @@ temp_metrics_file="${DIR}"/metrics.yml
3939
sed '/captureStart/d' "${KUBE_BURNER_METRICS_FILE}" > "$temp_metrics_file"
4040
kubectl create configmap --from-file="$temp_metrics_file" kube-burner-metrics-config -n kube-burner
4141

42-
kubectl create configmap --from-file="$KUBE_BURNER_METRICS_FILE" kube-burner-metrics-config -n kube-burner
43-
4442
kubectl create -f "${DIR}"/service-account.yaml
4543
kubectl create -f "${DIR}"/cluster-role-binding.yaml
4644

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: prometheus
5+
namespace: stackrox
6+
labels:
7+
app.kubernetes.io/name: stackrox
8+
data:
9+
prometheus.yml: |-
10+
global:
11+
scrape_interval: 30s
12+
13+
alerting:
14+
alertmanagers:
15+
- static_configs:
16+
- targets:
17+
- stackrox-monitoring-alertmanager:9093
18+
19+
rule_files:
20+
- /etc/prometheus/rules_*.yml
21+
22+
scrape_configs:
23+
- job_name: "kubernetes-pods"
24+
tls_config:
25+
insecure_skip_verify: false
26+
kubernetes_sd_configs:
27+
- role: pod
28+
namespaces:
29+
own_namespace: true
30+
relabel_configs:
31+
- action: labelmap
32+
regex: __meta_kubernetes_pod_label_(.+)
33+
- source_labels: [__meta_kubernetes_namespace]
34+
action: replace
35+
target_label: namespace
36+
- source_labels: [__meta_kubernetes_pod_name]
37+
action: replace
38+
target_label: pod
39+
- source_labels: [__meta_kubernetes_pod_node_name]
40+
action: replace
41+
target_label: node_name
42+
43+
- job_name: "kubernetes-cadvisor"
44+
scheme: https
45+
metrics_path: /metrics/cadvisor
46+
tls_config:
47+
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
48+
insecure_skip_verify: true
49+
authorization:
50+
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
51+
kubernetes_sd_configs:
52+
- role: node
53+
relabel_configs:
54+
- action: labelmap
55+
regex: __meta_kubernetes_node_label_(.+)
56+
57+
metric_relabel_configs:
58+
- source_labels: [container]
59+
regex: berserker
60+
action: drop
61+
- source_labels: [namespace]
62+
regex: berserker-*
63+
action: drop
64+
65+
- job_name: stackrox
66+
tls_config:
67+
insecure_skip_verify: false
68+
kubernetes_sd_configs:
69+
- role: endpoints
70+
namespaces:
71+
own_namespace: true
72+
relabel_configs:
73+
- source_labels: [__meta_kubernetes_endpoint_port_name]
74+
action: keep
75+
regex: monitoring
76+
- source_labels: [__meta_kubernetes_endpoints_name]
77+
action: replace
78+
target_label: job
79+
- source_labels: [__meta_kubernetes_namespace]
80+
action: replace
81+
target_label: namespace
82+
- source_labels: [__meta_kubernetes_endpoint_node_name]
83+
action: replace
84+
target_label: node_name

release/start-secured-cluster/start-secured-cluster.sh

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,20 @@ kubectl -n stackrox create secret generic access-rhacs \
1313
kubectl create -f "${SCRIPT_DIR}/collector-config.yaml"
1414

1515
echo "Deploying Monitoring..."
16+
monitoring_values_file="${COMMON_DIR}/../charts/monitoring/values.yaml"
17+
yq -i '.resources.requests.memory = "8Gi"' "$monitoring_values_file"
18+
yq -i '.resources.limits.memory = "8Gi"' "$monitoring_values_file"
19+
1620
helm_args=(
1721
--set persistence.type="${STORAGE}"
1822
--set exposure.type="${MONITORING_LOAD_BALANCER}"
1923
)
2024

2125
helm dependency update "${COMMON_DIR}/../charts/monitoring"
22-
envsubst < "${COMMON_DIR}/../charts/monitoring/values.yaml" > "${COMMON_DIR}/../charts/monitoring/values_substituted.yaml"
26+
envsubst < "$monitoring_values_file" > "${COMMON_DIR}/../charts/monitoring/values_substituted.yaml"
2327
helm upgrade -n stackrox --install --create-namespace stackrox-monitoring "${COMMON_DIR}/../charts/monitoring" --values "${COMMON_DIR}/../charts/monitoring/values_substituted.yaml" "${helm_args[@]}"
2428
rm "${COMMON_DIR}/../charts/monitoring/values_substituted.yaml"
25-
echo "Deployed Monitoring..."
29+
30+
# Replace the prometheus ConfigMap with one that doesn't scrape as much info from berserker containers
31+
kubectl -n stackrox delete configmap prometheus
32+
kubectl create -f "${SCRIPT_DIR}"/prometheus.yaml

0 commit comments

Comments
 (0)