From 3d48a927e2ab1dd971976acaaccba34026577dc7 Mon Sep 17 00:00:00 2001 From: xdu31 Date: Wed, 26 Feb 2025 09:31:11 -0800 Subject: [PATCH] Add eks pod identity test suite --- .../testing/eks-pod-identity/config.yaml | 54 +++++++++++++++++++ .../testing/eks-pod-identity/pod-default.yaml | 15 ++++++ 2 files changed, 69 insertions(+) create mode 100644 clusterloader2/testing/eks-pod-identity/config.yaml create mode 100644 clusterloader2/testing/eks-pod-identity/pod-default.yaml diff --git a/clusterloader2/testing/eks-pod-identity/config.yaml b/clusterloader2/testing/eks-pod-identity/config.yaml new file mode 100644 index 0000000000..891f6ad3c9 --- /dev/null +++ b/clusterloader2/testing/eks-pod-identity/config.yaml @@ -0,0 +1,54 @@ +{{$namespacePrefix := DefaultParam .CL2_NAMESPACE_PREFIX "default"}} +{{$namespaceCount := DefaultParam .CL2_NAMESPACE_COUNT 1}} +{{$totalEksPodIdentityPods := DefaultParam .CL2_EKS_POD_IDENTITY_PODS 5000}} +{{$defaultQps := DefaultParam .CL2_DEFAULT_QPS 500}} +{{$defaultBurst := DefaultParam .CL2_DEFAULT_BURST 1000}} +{{$uniformQps := DefaultParam .CL2_UNIFORM_QPS 500}} + +name: eks-pod-identity +tuningSets: +# default is a tuningset that is meant to be used when we don't have any specific requirements on pace of operations. +- name: default + globalQPSLoad: + qps: {{$defaultQps}} + burst: {{$defaultBurst}} +- name: UniformQPS + qpsLoad: + qps: {{$uniformQps}} +steps: +# a pod identity association with (namespace: default, sa: default) is created as prerequisite +- name: create eks pod identity pods + phases: + - namespaceRange: + min: 1 + max: {{$namespaceCount}} + baseName: {{$namespacePrefix}} + replicasPerNamespace: {{$totalEksPodIdentityPods}} + tuningSet: UniformQPS + objectBundle: + - basename: eks-pod-identity + objectTemplatePath: pod-default.yaml + templateFillMap: + Group: eks-pod-identity +- name: Waiting for eks pod identity pods to be created + measurements: + - Identifier: WaitForEksPodIdentityPods + Method: WaitForRunningPods + Params: + action: gather + timeout: 5m + desiredPodCount: {{$totalEksPodIdentityPods}} + labelSelector: group = eks-pod-identity +- name: Delete eks pod identity pods + phases: + - namespaceRange: + min: 1 + max: {{$namespaceCount}} + baseName: {{$namespacePrefix}} + replicasPerNamespace: 0 + tuningSet: default + objectBundle: + - basename: eks-pod-identity + objectTemplatePath: pod-default.yaml + templateFillMap: + Group: eks-pod-identity diff --git a/clusterloader2/testing/eks-pod-identity/pod-default.yaml b/clusterloader2/testing/eks-pod-identity/pod-default.yaml new file mode 100644 index 0000000000..4816cd87d4 --- /dev/null +++ b/clusterloader2/testing/eks-pod-identity/pod-default.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Pod +metadata: + generateName: eks-pod-identity-pod-churn- + labels: + group: {{.Group}} +spec: + containers: + - image: registry.k8s.io/pause:3.9 + name: pause + initContainers: + - name: app-init + image: amazon/aws-cli:latest + command: ["/bin/sh"] + args: ["-c", "aws sts get-caller-identity"]