Skip to content
Snippets Groups Projects
Commit b4871a47 authored by Björn Vonheiden's avatar Björn Vonheiden
Browse files

Streamline workload generator kubernetes files using kustomize

Add the hierachie structure to the kubernetes workload generator
files.
Use the new structure in the run uc scripts.
parent eead41d5
No related branches found
No related tags found
3 merge requests!42Integerate theodolite and run uc python scripts,!24run UC as python implementation,!19Replace Kubernetes YAML sed-replacements by Kustomize
Showing
with 89 additions and 95 deletions
...@@ -29,7 +29,7 @@ NUM_SENSORS=$DIM_VALUE ...@@ -29,7 +29,7 @@ NUM_SENSORS=$DIM_VALUE
WL_MAX_RECORDS=150000 WL_MAX_RECORDS=150000
WL_INSTANCES=$(((NUM_SENSORS + (WL_MAX_RECORDS -1 ))/ WL_MAX_RECORDS)) WL_INSTANCES=$(((NUM_SENSORS + (WL_MAX_RECORDS -1 ))/ WL_MAX_RECORDS))
cat <<EOF >uc1-workload-generator/set_paramters.yaml cat <<EOF >uc-workload-generator/overlay/uc1-workload-generator/set_paramters.yaml
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
metadata: metadata:
...@@ -46,7 +46,7 @@ spec: ...@@ -46,7 +46,7 @@ spec:
- name: INSTANCES - name: INSTANCES
value: "$WL_INSTANCES" value: "$WL_INSTANCES"
EOF EOF
kubectl apply -k uc1-workload-generator kubectl apply -k uc-workload-generator/overlay/uc1-workload-generator
# Start application # Start application
REPLICAS=$INSTANCES REPLICAS=$INSTANCES
...@@ -80,7 +80,7 @@ python lag_analysis.py $EXP_ID uc1 $DIM_VALUE $INSTANCES $EXECUTION_MINUTES ...@@ -80,7 +80,7 @@ python lag_analysis.py $EXP_ID uc1 $DIM_VALUE $INSTANCES $EXECUTION_MINUTES
deactivate deactivate
# Stop workload generator and app # Stop workload generator and app
kubectl delete -k uc1-workload-generator kubectl delete -k uc-workload-generator/overlay/uc1-workload-generator
kubectl delete -k uc-application/overlay/uc1-application kubectl delete -k uc-application/overlay/uc1-application
......
...@@ -26,7 +26,7 @@ kubectl exec kafka-client -- bash -c "kafka-topics --zookeeper my-confluent-cp-z ...@@ -26,7 +26,7 @@ kubectl exec kafka-client -- bash -c "kafka-topics --zookeeper my-confluent-cp-z
# Start workload generator # Start workload generator
NUM_NESTED_GROUPS=$DIM_VALUE NUM_NESTED_GROUPS=$DIM_VALUE
cat <<EOF >uc2-workload-generator/set_paramters.yaml cat <<EOF >uc-workload-generator/overlay/uc2-workload-generator/set_paramters.yaml
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
metadata: metadata:
...@@ -38,10 +38,14 @@ spec: ...@@ -38,10 +38,14 @@ spec:
containers: containers:
- name: workload-generator - name: workload-generator
env: env:
- name: NUM_SENSORS
value: "4"
- name: HIERARCHY
value: "full"
- name: NUM_NESTED_GROUPS - name: NUM_NESTED_GROUPS
value: "$NUM_NESTED_GROUPS" value: "$NUM_NESTED_GROUPS"
EOF EOF
kubectl apply -k uc2-workload-generator kubectl apply -k uc-workload-generator/overlay/uc2-workload-generator
# Start application # Start application
REPLICAS=$INSTANCES REPLICAS=$INSTANCES
...@@ -75,7 +79,7 @@ python lag_analysis.py $EXP_ID uc2 $DIM_VALUE $INSTANCES $EXECUTION_MINUTES ...@@ -75,7 +79,7 @@ python lag_analysis.py $EXP_ID uc2 $DIM_VALUE $INSTANCES $EXECUTION_MINUTES
deactivate deactivate
# Stop workload generator and app # Stop workload generator and app
kubectl delete -k uc2-workload-generator kubectl delete -k uc-workload-generator/overlay/uc2-workload-generator
kubectl delete -k uc-application/overlay/uc2-application kubectl delete -k uc-application/overlay/uc2-application
......
...@@ -29,7 +29,7 @@ NUM_SENSORS=$DIM_VALUE ...@@ -29,7 +29,7 @@ NUM_SENSORS=$DIM_VALUE
WL_MAX_RECORDS=150000 WL_MAX_RECORDS=150000
WL_INSTANCES=$(((NUM_SENSORS + (WL_MAX_RECORDS -1 ))/ WL_MAX_RECORDS)) WL_INSTANCES=$(((NUM_SENSORS + (WL_MAX_RECORDS -1 ))/ WL_MAX_RECORDS))
cat <<EOF >uc3-workload-generator/set_paramters.yaml cat <<EOF >uc-workload-generator/overlay/uc3-workload-generator/set_paramters.yaml
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
metadata: metadata:
...@@ -46,7 +46,7 @@ spec: ...@@ -46,7 +46,7 @@ spec:
- name: INSTANCES - name: INSTANCES
value: "$WL_INSTANCES" value: "$WL_INSTANCES"
EOF EOF
kubectl apply -k uc3-workload-generator kubectl apply -k uc-workload-generator/overlay/uc3-workload-generator
# Start application # Start application
...@@ -81,7 +81,7 @@ python lag_analysis.py $EXP_ID uc3 $DIM_VALUE $INSTANCES $EXECUTION_MINUTES ...@@ -81,7 +81,7 @@ python lag_analysis.py $EXP_ID uc3 $DIM_VALUE $INSTANCES $EXECUTION_MINUTES
deactivate deactivate
# Stop workload generator and app # Stop workload generator and app
kubectl delete -k uc3-workload-generator kubectl delete -k uc-workload-generator/overlay/uc3-workload-generator
kubectl delete -k uc-application/overlay/uc3-application kubectl delete -k uc-application/overlay/uc3-application
# Delete topics instead of Kafka # Delete topics instead of Kafka
......
...@@ -26,7 +26,7 @@ kubectl exec kafka-client -- bash -c "kafka-topics --zookeeper my-confluent-cp-z ...@@ -26,7 +26,7 @@ kubectl exec kafka-client -- bash -c "kafka-topics --zookeeper my-confluent-cp-z
# Start workload generator # Start workload generator
NUM_SENSORS=$DIM_VALUE NUM_SENSORS=$DIM_VALUE
cat <<EOF >uc4-workload-generator/set_paramters.yaml cat <<EOF >uuc-workload-generator/overlay/c4-workload-generator/set_paramters.yaml
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
metadata: metadata:
...@@ -41,7 +41,7 @@ spec: ...@@ -41,7 +41,7 @@ spec:
- name: NUM_SENSORS - name: NUM_SENSORS
value: "$NUM_SENSORS" value: "$NUM_SENSORS"
EOF EOF
kubectl apply -k uc4-workload-generator kubectl apply -k uc-workload-generator/overlay/uc4-workload-generator
# Start application # Start application
REPLICAS=$INSTANCES REPLICAS=$INSTANCES
...@@ -75,7 +75,7 @@ python lag_analysis.py $EXP_ID uc4 $DIM_VALUE $INSTANCES $EXECUTION_MINUTES ...@@ -75,7 +75,7 @@ python lag_analysis.py $EXP_ID uc4 $DIM_VALUE $INSTANCES $EXECUTION_MINUTES
deactivate deactivate
# Stop workload generator and app # Stop workload generator and app
kubectl delete -k uc4-workload-generator kubectl delete -k uc-workload-generator/overlay/uc4-workload-generator
kubectl delete -k uc-application/overlay/uc4-application kubectl delete -k uc-application/overlay/uc4-application
......
...@@ -15,7 +15,7 @@ spec: ...@@ -15,7 +15,7 @@ spec:
terminationGracePeriodSeconds: 0 terminationGracePeriodSeconds: 0
containers: containers:
- name: uc-application - name: uc-application
image: "uc-app:latest" image: uc-app:latest
ports: ports:
- containerPort: 5555 - containerPort: 5555
name: jmx name: jmx
......
...@@ -16,7 +16,7 @@ spec: ...@@ -16,7 +16,7 @@ spec:
terminationGracePeriodSeconds: 0 terminationGracePeriodSeconds: 0
containers: containers:
- name: workload-generator - name: workload-generator
image: soerenhenning/uc1-wg:latest image: workload-generator:latest
env: env:
- name: KAFKA_BOOTSTRAP_SERVERS - name: KAFKA_BOOTSTRAP_SERVERS
value: "my-confluent-cp-kafka:9092" value: "my-confluent-cp-kafka:9092"
...@@ -27,4 +27,4 @@ spec: ...@@ -27,4 +27,4 @@ spec:
fieldRef: fieldRef:
fieldPath: metadata.name fieldPath: metadata.name
- name: INSTANCES - name: INSTANCES
value: 1 value: "1"
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
# Use all resources to compose them into one file
resources: resources:
- deployment.yaml - deployment.yaml
patchesStrategicMerge:
- set_paramters.yaml # Patch setting the parameters
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
# Use all resources to compose them into one file namePrefix: uc1-
resources:
- deployment.yaml images:
- name: workload-generator
newName: soerenhenning/uc1-wl
newTag: latest
bases:
- ../../base
patchesStrategicMerge: patchesStrategicMerge:
- set_paramters.yaml # Patch setting the parameters - set_paramters.yaml # Patch setting the resource parameters
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
# Use all resources to compose them into one file namePrefix: uc2-
resources:
- deployment.yaml images:
- name: workload-generator
newName: soerenhenning/uc2-wl
newTag: latest
bases:
- ../../base
patchesStrategicMerge: patchesStrategicMerge:
- set_paramters.yaml # Patch setting the parameters - set_paramters.yaml # Patch setting the resource parameters
...@@ -9,5 +9,10 @@ spec: ...@@ -9,5 +9,10 @@ spec:
containers: containers:
- name: workload-generator - name: workload-generator
env: env:
- name: NUM_SENSORS
value: "4"
- name: HIERARCHY
value: "full"
- name: NUM_NESTED_GROUPS - name: NUM_NESTED_GROUPS
value: "25000" value: "25000"
apiVersion: kustomize.config.k8s.io/v1beta1 apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization kind: Kustomization
# Use all resources to compose them into one file namePrefix: uc3-
resources:
- deployment.yaml images:
- name: workload-generator
newName: soerenhenning/uc3-wl
newTag: latest
bases:
- ../../base
patchesStrategicMerge: patchesStrategicMerge:
- set_paramters.yaml # Patch setting the parameters - set_paramters.yaml # Patch setting the resource parameters
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namePrefix: uc4-
images:
- name: workload-generator
newName: soerenhenning/uc4-wl
newTag: latest
bases:
- ../../base
patchesStrategicMerge:
- set_paramters.yaml # Patch setting the resource parameters
apiVersion: apps/v1
kind: Deployment
metadata:
name: titan-ccp-load-generator
spec:
selector:
matchLabels:
app: titan-ccp-load-generator
replicas: 1
template:
metadata:
labels:
app: titan-ccp-load-generator
spec:
terminationGracePeriodSeconds: 0
containers:
- name: workload-generator
image: benediktwetzel/uc2-wg:latest
env:
- name: KAFKA_BOOTSTRAP_SERVERS
value: "my-confluent-cp-kafka:9092"
- name: HIERARCHY
value: "full"
- name: NUM_SENSORS
value: "4"
- name: NUM_NESTED_GROUPS
value: 25000
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: titan-ccp-load-generator
spec:
selector:
matchLabels:
app: titan-ccp-load-generator
serviceName: titan-ccp-load-generator
replicas: 1
template:
metadata:
labels:
app: titan-ccp-load-generator
spec:
terminationGracePeriodSeconds: 0
containers:
- name: workload-generator
image: soerenhenning/uc3-wg:latest
env:
- name: KAFKA_BOOTSTRAP_SERVERS
value: "my-confluent-cp-kafka:9092"
- name: NUM_SENSORS
value: 25000
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: INSTANCES
value: 1
apiVersion: apps/v1
kind: Deployment
metadata:
name: titan-ccp-load-generator
spec:
selector:
matchLabels:
app: titan-ccp-load-generator
replicas: 1
template:
metadata:
labels:
app: titan-ccp-load-generator
spec:
terminationGracePeriodSeconds: 0
containers:
- name: workload-generator
image: soerenhenning/uc4-wg:latest
env:
- name: KAFKA_BOOTSTRAP_SERVERS
value: "my-confluent-cp-kafka:9092"
- name: NUM_SENSORS
value: 25000
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