Skip to content
Snippets Groups Projects
Commit 84355ec0 authored by Sören Henning's avatar Sören Henning
Browse files

Merge branch 'benchmark-installation' into 'master'

Install Benchmarks with Helm

Closes #242

See merge request !200
parents 3a7ccca2 d86ef49c
No related branches found
No related tags found
1 merge request!200Install Benchmarks with Helm
Pipeline #5294 passed
Showing
with 102 additions and 115 deletions
{{- $processedDict := dict -}}
{{- range $path, $bytes := .Files.Glob "benchmark-definitions/**/resources/**" }}
{{- $name := base (dir (dir $path)) }}
{{- if not (hasKey $processedDict $name) -}}
{{ $_ := set $processedDict $name "true" }}
{{- range $configmap, $enabled := .Values.operator.theodoliteBenchmarks.resourceConfigMaps }}
{{- if $enabled -}}
{{- $name := kebabcase $configmap }}
apiVersion: v1
kind: ConfigMap
metadata:
name: benchmark-resources-{{ $name }}
name: benchmark-resources-{{ $name }}
data:
{{ ($.Files.Glob (printf "benchmark-definitions/%s/resources/*" $name)).AsConfig | indent 2 }}
---
{{- end }}
{{- end }}
apiVersion: v1
kind: ConfigMap
metadata:
name: benchmark-resources-custom
data: {}
{{- range $benchmark, $enabled := .Values.operator.theodoliteBenchmarks.benchmarks }}
{{- if $enabled -}}
{{- $name := kebabcase $benchmark }}
{{ $.Files.Get (printf "benchmark-definitions/%s/%s-benchmark-operator.yaml" $name $name) }}
---
{{- end }}
{{- end }}
......@@ -49,6 +49,7 @@ rules:
- theodolite.com
resources:
- benchmarks
- benchmarks/status
- executions
- executions/status
verbs:
......
......@@ -26,31 +26,11 @@ spec:
value: {{ .Release.Namespace }}
- name: MODE
value: operator
- name: THEODOLITE_APP_RESOURCES
value: "./benchmark-resources"
- name: RESULTS_FOLDER
value: "./results"
volumeMounts:
- name: theodolite-results-volume
mountPath: "/deployments/results"
- name: benchmark-resources-uc1-kstreams
mountPath: /deployments/benchmark-resources/uc1-kstreams
- name: benchmark-resources-uc2-kstreams
mountPath: /deployments/benchmark-resources/uc2-kstreams
- name: benchmark-resources-uc3-kstreams
mountPath: /deployments/benchmark-resources/uc3-kstreams
- name: benchmark-resources-uc4-kstreams
mountPath: /deployments/benchmark-resources/uc4-kstreams
- name: benchmark-resources-uc1-flink
mountPath: /deployments/benchmark-resources/uc1-flink
- name: benchmark-resources-uc2-flink
mountPath: /deployments/benchmark-resources/uc2-flink
- name: benchmark-resources-uc3-flink
mountPath: /deployments/benchmark-resources/uc3-flink
- name: benchmark-resources-uc4-flink
mountPath: /deployments/benchmark-resources/uc4-flink
- name: benchmark-resources-custom
mountPath: /deployments/benchmark-resources/custom
{{- if .Values.operator.sloChecker.lagTrend.enabled }}
- name: lag-trend-slo-checker
image: "{{ .Values.operator.sloChecker.lagTrend.image }}:{{ .Values.operator.sloChecker.lagTrend.imageTag }}"
......@@ -96,42 +76,6 @@ spec:
{{- else }}
emptyDir: {}
{{- end }}
- name: benchmark-resources-uc1-kstreams
configMap:
name: benchmark-resources-uc1-kstreams
optional: true
- name: benchmark-resources-uc2-kstreams
configMap:
name: benchmark-resources-uc2-kstreams
optional: true
- name: benchmark-resources-uc3-kstreams
configMap:
name: benchmark-resources-uc3-kstreams
optional: true
- name: benchmark-resources-uc4-kstreams
configMap:
name: benchmark-resources-uc4-kstreams
optional: true
- name: benchmark-resources-uc1-flink
configMap:
name: benchmark-resources-uc1-flink
optional: true
- name: benchmark-resources-uc2-flink
configMap:
name: benchmark-resources-uc2-flink
optional: true
- name: benchmark-resources-uc3-flink
configMap:
name: benchmark-resources-uc3-flink
optional: true
- name: benchmark-resources-uc4-flink
configMap:
name: benchmark-resources-uc4-flink
optional: true
- name: benchmark-resources-custom
configMap:
name: benchmark-resources-custom
optional: true
{{- with .Values.operator.nodeSelector }}
nodeSelector:
{{ toYaml . | indent 2 }}
......
......@@ -281,6 +281,29 @@ operator:
imageTag: stable
imagePullPolicy: IfNotPresent
theodoliteBenchmarks:
resourceConfigMaps:
uc1LoadGenerator: true
uc1Kstreams: true
uc1Flink: true
uc2LoadGenerator: true
uc2Kstreams: true
uc2Flink: true
uc3LoadGenerator: true
uc3Kstreams: true
uc3Flink: true
uc4LoadGenerator: true
uc4Kstreams: true
uc4Flink: true
benchmarks:
uc1Kstreams: true
uc1Flink: true
uc2Kstreams: true
uc2Flink: true
uc3Kstreams: true
uc3Flink: true
uc4Kstreams: true
uc4Flink: true
serviceAccount:
create: true
......
# flink
# Flink
kubectl create configmap benchmark-resources-uc1-flink --from-file uc1-flink/resources
kubectl create configmap benchmark-resources-uc2-flink --from-file uc2-flink/resources
kubectl create configmap benchmark-resources-uc3-flink --from-file uc3-flink/resources
kubectl create configmap benchmark-resources-uc4-flink --from-file uc4-flink/resources
# kafka
# Kafka Streams
kubectl create configmap benchmark-resources-uc1-kstreams --from-file uc1-kstreams/resources
kubectl create configmap benchmark-resources-uc2-kstreams --from-file uc2-kstreams/resources
kubectl create configmap benchmark-resources-uc3-kstreams --from-file uc3-kstreams/resources
kubectl create configmap benchmark-resources-uc4-kstreams --from-file uc4-kstreams/resources
# load generator
kubectl create configmap benchmark-resources-uc1-loadgen --from-file uc1-loadGen
kubectl create configmap benchmark-resources-uc2-loadgen --from-file uc2-loadGen
kubectl create configmap benchmark-resources-uc3-loadgen --from-file uc3-loadGen
kubectl create configmap benchmark-resources-uc4-loadgen --from-file uc4-loadGen
\ No newline at end of file
# Load Generator
kubectl create configmap benchmark-resources-uc1-load-generator --from-file uc1-load-generator/resources
kubectl create configmap benchmark-resources-uc2-load-generator --from-file uc2-load-generator/resources
kubectl create configmap benchmark-resources-uc3-load-generator --from-file uc3-load-generator/resources
kubectl create configmap benchmark-resources-uc4-load-generator --from-file uc4-load-generator/resources
......@@ -18,7 +18,7 @@ spec:
loadGenerator:
resources:
- configMap:
name: "benchmark-resources-uc1-loadgen"
name: "benchmark-resources-uc1-load-generator"
files:
- "uc1-load-generator-deployment.yaml"
- "uc1-load-generator-service.yaml"
......@@ -26,14 +26,14 @@ spec:
- typeName: "Instances"
patchers:
- type: "ReplicaPatcher"
resource: "uc1-flink/taskmanager-deployment.yaml"
resource: "taskmanager-deployment.yaml"
- type: "EnvVarPatcher"
resource: "uc1-flink/jobmanager-deployment.yaml"
resource: "jobmanager-deployment.yaml"
properties:
container: "jobmanager"
variableName: "PARALLELISM"
- type: "EnvVarPatcher" # required?
resource: "uc1-flink/taskmanager-deployment.yaml"
resource: "taskmanager-deployment.yaml"
properties:
container: "taskmanager"
variableName: "PARALLELISM"
......@@ -41,12 +41,12 @@ spec:
- typeName: "NumSensors"
patchers:
- type: "EnvVarPatcher"
resource: "uc1-kstreams/uc1-load-generator-deployment.yaml"
resource: "uc1-load-generator-deployment.yaml"
properties:
container: "workload-generator"
variableName: "NUM_SENSORS"
- type: NumSensorsLoadGeneratorReplicaPatcher
resource: "uc1-kstreams/uc1-load-generator-deployment.yaml"
resource: "uc1-load-generator-deployment.yaml"
properties:
loadGenMaxRecords: "150000"
kafkaConfig:
......
......@@ -15,7 +15,7 @@ spec:
loadGenerator:
resources:
- configMap:
name: "benchmark-resources-uc1-loadgen"
name: "benchmark-resources-uc1-load-generator"
files:
- "uc1-load-generator-deployment.yaml"
- "uc1-load-generator-service.yaml"
......@@ -23,17 +23,17 @@ spec:
- typeName: "Instances"
patchers:
- type: "ReplicaPatcher"
resource: "uc1-kstreams/uc1-kstreams-deployment.yaml"
resource: "uc1-kstreams-deployment.yaml"
loadTypes:
- typeName: "NumSensors"
patchers:
- type: "EnvVarPatcher"
resource: "uc1-kstreams/uc1-load-generator-deployment.yaml"
resource: "uc1-load-generator-deployment.yaml"
properties:
container: "workload-generator"
variableName: "NUM_SENSORS"
- type: NumSensorsLoadGeneratorReplicaPatcher
resource: "uc1-kstreams/uc1-load-generator-deployment.yaml"
resource: "uc1-load-generator-deployment.yaml"
properties:
loadGenMaxRecords: "150000"
kafkaConfig:
......
......@@ -11,7 +11,7 @@ sut:
loadGenerator:
resources:
- configMap:
name: "benchmark-resources-uc1-loadgen"
name: "benchmark-resources-uc1-load-generator"
files:
- "uc1-load-generator-deployment.yaml"
- "uc1-load-generator-service.yaml"
......
......@@ -4,21 +4,21 @@ metadata:
name: uc2-flink
spec:
sut:
resources:
- configMap:
name: "benchmark-resources-uc2-flink"
files:
- "flink-configuration-configmap.yaml"
- "taskmanager-deployment.yaml"
- "taskmanager-service.yaml"
- "service-monitor.yaml"
- "jobmanager-service.yaml"
- "jobmanager-deployment.yaml"
#- "jobmanager-rest-service.yaml"
resources:
- configMap:
name: "benchmark-resources-uc2-flink"
files:
- "flink-configuration-configmap.yaml"
- "taskmanager-deployment.yaml"
- "taskmanager-service.yaml"
- "service-monitor.yaml"
- "jobmanager-service.yaml"
- "jobmanager-deployment.yaml"
#- "jobmanager-rest-service.yaml"
loadGenerator:
resources:
- configMap:
name: "benchmark-resources-uc2-loadgen"
name: "benchmark-resources-uc2-load-generator"
files:
- "uc2-load-generator-deployment.yaml"
- "uc2-load-generator-service.yaml"
......@@ -26,14 +26,14 @@ spec:
- typeName: "Instances"
patchers:
- type: "ReplicaPatcher"
resource: "uc2-flink/taskmanager-deployment.yaml"
resource: "taskmanager-deployment.yaml"
- type: "EnvVarPatcher"
resource: "uc2-flink/jobmanager-deployment.yaml"
resource: "jobmanager-deployment.yaml"
properties:
container: "jobmanager"
variableName: "PARALLELISM"
- type: "EnvVarPatcher" # required?
resource: "uc2-flink/taskmanager-deployment.yaml"
resource: "taskmanager-deployment.yaml"
properties:
container: "taskmanager"
variableName: "PARALLELISM"
......@@ -41,12 +41,12 @@ spec:
- typeName: "NumSensors"
patchers:
- type: "EnvVarPatcher"
resource: "uc2-kstreams/uc2-load-generator-deployment.yaml"
resource: "uc2-load-generator-deployment.yaml"
properties:
container: "workload-generator"
variableName: "NUM_SENSORS"
- type: NumSensorsLoadGeneratorReplicaPatcher
resource: "uc2-kstreams/uc2-load-generator-deployment.yaml"
resource: "uc2-load-generator-deployment.yaml"
properties:
loadGenMaxRecords: "150000"
kafkaConfig:
......
......@@ -4,18 +4,18 @@ metadata:
name: uc2-kstreams
spec:
sut:
resources:
- configMap:
name: "benchmark-resources-uc2-kstreams"
files:
- "uc2-kstreams-deployment.yaml"
- "uc2-kstreams-service.yaml"
- "uc2-jmx-configmap.yaml"
- "uc2-service-monitor.yaml"
resources:
- configMap:
name: "benchmark-resources-uc2-kstreams"
files:
- "uc2-kstreams-deployment.yaml"
- "uc2-kstreams-service.yaml"
- "uc2-jmx-configmap.yaml"
- "uc2-service-monitor.yaml"
loadGenerator:
resources:
- configMap:
name: "benchmark-resources-uc2-loadgen"
name: "benchmark-resources-uc2-load-generator"
files:
- "uc2-load-generator-deployment.yaml"
- "uc2-load-generator-service.yaml"
......@@ -23,17 +23,17 @@ spec:
- typeName: "Instances"
patchers:
- type: "ReplicaPatcher"
resource: "uc2-kstreams/uc2-kstreams-deployment.yaml"
resource: "uc2-kstreams-deployment.yaml"
loadTypes:
- typeName: "NumSensors"
patchers:
- type: "EnvVarPatcher"
resource: "uc2-kstreams/uc2-load-generator-deployment.yaml"
resource: "uc2-load-generator-deployment.yaml"
properties:
container: "workload-generator"
variableName: "NUM_SENSORS"
- type: NumSensorsLoadGeneratorReplicaPatcher
resource: "uc2-kstreams/uc2-load-generator-deployment.yaml"
resource: "uc2-load-generator-deployment.yaml"
properties:
loadGenMaxRecords: "150000"
kafkaConfig:
......
......@@ -11,7 +11,7 @@ sut:
loadGenerator:
resources:
- configMap:
name: "benchmark-resources-uc2-loadgen"
name: "benchmark-resources-uc2-load-generator"
files:
- "uc2-load-generator-deployment.yaml"
- "uc2-load-generator-service.yaml"
......
......@@ -18,7 +18,7 @@ spec:
loadGenerator:
resources:
- configMap:
name: "benchmark-resources-uc3-loadgen"
name: "benchmark-resources-uc3-load-generator"
files:
- "uc3-load-generator-deployment.yaml"
- "uc3-load-generator-service.yaml"
......@@ -26,14 +26,14 @@ spec:
- typeName: "Instances"
patchers:
- type: "ReplicaPatcher"
resource: "uc3-flink/taskmanager-deployment.yaml"
resource: "taskmanager-deployment.yaml"
- type: "EnvVarPatcher"
resource: "uc3-flink/jobmanager-deployment.yaml"
resource: "jobmanager-deployment.yaml"
properties:
container: "jobmanager"
variableName: "PARALLELISM"
- type: "EnvVarPatcher" # required?
resource: "uc3-flink/taskmanager-deployment.yaml"
resource: "taskmanager-deployment.yaml"
properties:
container: "taskmanager"
variableName: "PARALLELISM"
......@@ -41,12 +41,12 @@ spec:
- typeName: "NumSensors"
patchers:
- type: "EnvVarPatcher"
resource: "uc3-kstreams/uc3-load-generator-deployment.yaml"
resource: "uc3-load-generator-deployment.yaml"
properties:
container: "workload-generator"
variableName: "NUM_SENSORS"
- type: NumSensorsLoadGeneratorReplicaPatcher
resource: "uc3-kstreams/uc3-load-generator-deployment.yaml"
resource: "uc3-load-generator-deployment.yaml"
properties:
loadGenMaxRecords: "150000"
kafkaConfig:
......
......@@ -15,7 +15,7 @@ spec:
loadGenerator:
resources:
- configMap:
name: "benchmark-resources-uc3-loadgen"
name: "benchmark-resources-uc3-load-generator"
files:
- "uc3-load-generator-deployment.yaml"
- "uc3-load-generator-service.yaml"
......@@ -23,17 +23,17 @@ spec:
- typeName: "Instances"
patchers:
- type: "ReplicaPatcher"
resource: "uc3-kstreams/uc3-kstreams-deployment.yaml"
resource: "uc3-kstreams-deployment.yaml"
loadTypes:
- typeName: "NumSensors"
patchers:
- type: "EnvVarPatcher"
resource: "uc3-kstreams/uc3-load-generator-deployment.yaml"
resource: "uc3-load-generator-deployment.yaml"
properties:
container: "workload-generator"
variableName: "NUM_SENSORS"
- type: NumSensorsLoadGeneratorReplicaPatcher
resource: "uc3-kstreams/uc3-load-generator-deployment.yaml"
resource: "uc3-load-generator-deployment.yaml"
properties:
loadGenMaxRecords: "150000"
kafkaConfig:
......
......@@ -11,7 +11,7 @@ sut:
loadGenerator:
resources:
- configMap:
name: "benchmark-resources-uc3-loadgen"
name: "benchmark-resources-uc3-load-generator"
files:
- "uc3-load-generator-deployment.yaml"
- "uc3-load-generator-service.yaml"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment