Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 33 additions & 1 deletion tests/assets/eks-pod-identity/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
{{$podImage := DefaultParam .CL2_POD_IMAGE "public.ecr.aws/aws-cli/aws-cli:2.27.56"}}
{{$timeoutEksPodIdentityPodCreation := DefaultParam .CL2_TIMEOUT_EKS_POD_IDENTITY_POD_CREATION "20m"}}
{{$timeoutEksPodIdentityPodStartup := DefaultParam .CL2_TIMEOUT_EKS_POD_IDENTITY_POD_STARTUP "5m"}}
{{$timeoutImagePreload := DefaultParam .CL2_TIMEOUT_IMAGE_PRELOAD "15m"}}
{{$defaultQps := DefaultParam .CL2_DEFAULT_QPS 500}}
{{$defaultBurst := DefaultParam .CL2_DEFAULT_BURST 1000}}
{{$uniformQps := DefaultParam .CL2_UNIFORM_QPS 500}}
Expand All @@ -26,6 +27,37 @@ tuningSets:
qpsLoad:
qps: {{$uniformQps}}
steps:
- name: Creating image preload measurements
measurements:
- Method: WaitForControlledPodsRunning
Instances:
- Identifier: WaitForRunningDaemonSets
Params:
apiVersion: apps/v1
kind: DaemonSet
Params:
action: start
labelSelector: group = image-preload
operationTimeout: {{$timeoutImagePreload}}
- name: Create image preload daemonset
phases:
- namespaceRange:
min: 1
max: 1
replicasPerNamespace: 1
tuningSet: default
objectBundle:
- basename: daemonset
objectTemplatePath: pod-image-preload.yaml
templateFillMap:
PodImage: {{$podImage}}
- name: Waiting for image preload daemonset to be completed
measurements:
- Method: WaitForControlledPodsRunning
Instances:
- Identifier: WaitForRunningDaemonSets
Params:
action: gather
- name: Creating eks pod identity measurements
measurements:
- Identifier: EksPodIdentityPodStartupLatency
Expand All @@ -35,7 +67,7 @@ steps:
labelSelector: group = eks-pod-identity
threshold: {{$timeoutEksPodIdentityPodStartup}}
# a pod identity association with (namespace: default, sa: default) is created as prerequisite
- name: create eks pod identity pods
- name: Create eks pod identity pods
phases:
- namespaceRange:
min: 1
Expand Down
34 changes: 34 additions & 0 deletions tests/assets/eks-pod-identity/pod-image-preload.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: image-preload
labels:
group: image-preload
spec:
selector:
matchLabels:
name: image-preload
template:
metadata:
labels:
group: image-preload
name: image-preload
spec:
containers:
- name: image-preload
image: {{.PodImage}}
resources:
requests:
cpu: "10m"
memory: "10Mi"
limits:
cpu: "15m"
memory: "15Mi"
command:
- sh
- -c
- |
while true; do
echo "Sleeping for 1 hour..."
sleep 3600
done
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ spec:
default: "https://raw.githubusercontent.com/awslabs/kubernetes-iteration-toolkit/main/tests/assets/eks-pod-identity/config.yaml"
- name: pia-test-pod-spec-url
default: "https://raw.githubusercontent.com/awslabs/kubernetes-iteration-toolkit/main/tests/assets/eks-pod-identity/pod-default.yaml"
- name: pia-image-preload-spec-url
default: "https://raw.githubusercontent.com/awslabs/kubernetes-iteration-toolkit/main/tests/assets/eks-pod-identity/pod-image-preload.yaml"
- name: cl2-eks-pod-identity-pods
default: "5000"
- name: cl2-default-qps
Expand Down Expand Up @@ -320,6 +322,8 @@ spec:
value: $(params.pia-test-config-url)
- name: pia-test-pod-spec-url
value: $(params.pia-test-pod-spec-url)
- name: pia-image-preload-spec-url
value: $(params.pia-image-preload-spec-url)
- name: timeout-pia-pod-creation
value: $(params.timeout-pia-pod-creation)
- name: timeout-pia-pod-startup
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ spec:
default: "https://raw.githubusercontent.com/awslabs/kubernetes-iteration-toolkit/main/tests/assets/eks-pod-identity/config.yaml"
- name: pia-test-pod-spec-url
default: "https://raw.githubusercontent.com/awslabs/kubernetes-iteration-toolkit/main/tests/assets/eks-pod-identity/pod-default.yaml"
- name: pia-image-preload-spec-url
default: "https://raw.githubusercontent.com/awslabs/kubernetes-iteration-toolkit/main/tests/assets/eks-pod-identity/pod-image-preload.yaml"
- name: timeout-pia-pod-creation
default: "20m"
- name: timeout-pia-pod-startup
Expand Down Expand Up @@ -181,16 +183,17 @@ spec:
mkdir -p $(workspaces.source.path)/perf-tests/clusterloader2/testing/eks-pod-identity
curl -s $(params.pia-test-config-url) -o $(workspaces.source.path)/perf-tests/clusterloader2/testing/eks-pod-identity/config.yaml
curl -s $(params.pia-test-pod-spec-url) -o $(workspaces.source.path)/perf-tests/clusterloader2/testing/eks-pod-identity/pod-default.yaml
curl -s $(params.pia-image-preload-spec-url) -o $(workspaces.source.path)/perf-tests/clusterloader2/testing/eks-pod-identity/pod-image-preload.yaml
cat $(workspaces.source.path)/perf-tests/clusterloader2/testing/eks-pod-identity/config.yaml
cat $(workspaces.source.path)/perf-tests/clusterloader2/testing/eks-pod-identity/pod-default.yaml
cat $(workspaces.source.path)/perf-tests/clusterloader2/testing/eks-pod-identity/pod-image-preload.yaml
cd $(workspaces.source.path)/perf-tests/clusterloader2/

ENABLE_EXEC_SERVICE=false ./clusterloader \
--kubeconfig=$KUBECONFIG \
--testconfig=$(workspaces.source.path)/perf-tests/clusterloader2/testing/eks-pod-identity/config.yaml \
--testoverrides=$(workspaces.source.path)/overrides.yaml \
--nodes=$(params.nodes) --provider=eks --report-dir=$(workspaces.results.path) \
--node-preload-images=$(params.pod-image) \
--alsologtostderr --v=2
exit_code=$?
if [ $exit_code -eq 0 ]; then
Expand Down
Loading