|
67 | 67 | ```
|
68 | 68 |
|
69 | 69 | ### Scheduling recurrent test runs.
|
70 |
| -For scheduling recurrent test runs a cron job is used to trigger the pipeline from the pipelinerun template. Reffer to the for a sample cron job and pipelinerun temaple. [example.yaml](pipelineruns%2Feks%2Fexample.yaml) |
| 70 | +To schedule recurrent test runs, you can leverage cron-job to trigger a pipeline run using trigger-template. Please refer to below example for sample cron job and pipelinerun template. |
| 71 | + |
| 72 | +``` |
| 73 | +cat <<EOF | kubectl apply -f - |
| 74 | +--- |
| 75 | +apiVersion: batch/v1beta1 |
| 76 | +kind: CronJob |
| 77 | +metadata: |
| 78 | + name: awscli-eks-load-5k-example |
| 79 | + namespace: tekton-pipelines |
| 80 | +spec: |
| 81 | + schedule: "13 15 * * *" |
| 82 | + jobTemplate: |
| 83 | + spec: |
| 84 | + template: |
| 85 | + spec: |
| 86 | + containers: |
| 87 | + - name: curl |
| 88 | + image: curlimages/curl |
| 89 | + args: ["curl", "-X", "POST", "--data", "{}", "el-awscli-eks-load-5k.tekton-pipelines.svc.cluster.local:8080"] |
| 90 | + restartPolicy: Never |
| 91 | +--- |
| 92 | +apiVersion: triggers.tekton.dev/v1alpha1 |
| 93 | +kind: TriggerBinding |
| 94 | +metadata: |
| 95 | + name: awscli-eks-load-5k |
| 96 | + namespace: tekton-pipelines |
| 97 | +spec: |
| 98 | + params: |
| 99 | + - name: servicerole |
| 100 | + value: <service role ARN. Example of Service Role- https://github.com/awslabs/kubernetes-iteration-toolkit/blob/main/tests/assets/eks_service_role.json> |
| 101 | +--- |
| 102 | +apiVersion: triggers.tekton.dev/v1alpha1 |
| 103 | +kind: EventListener |
| 104 | +metadata: |
| 105 | + name: awscli-eks-load-5k |
| 106 | + namespace: tekton-pipelines |
| 107 | +spec: |
| 108 | + serviceAccountName: tekton-triggers |
| 109 | + triggers: |
| 110 | + - name: cron |
| 111 | + bindings: |
| 112 | + - ref: awscli-eks-load-5k |
| 113 | + template: |
| 114 | + ref: awscli-eks-load-5k |
| 115 | +--- |
| 116 | +apiVersion: triggers.tekton.dev/v1alpha1 |
| 117 | +kind: TriggerTemplate |
| 118 | +metadata: |
| 119 | + name: awscli-eks-load-5k |
| 120 | + namespace: tekton-pipelines |
| 121 | +spec: |
| 122 | + resourcetemplates: |
| 123 | + - apiVersion: tekton.dev/v1beta1 |
| 124 | + kind: PipelineRun |
| 125 | + metadata: |
| 126 | + generateName: awscli-eks-load-5k- |
| 127 | + spec: |
| 128 | + pipelineRef: |
| 129 | + name: awscli-eks-cl2loadtest-with-addons |
| 130 | + timeout: 9h0m0s |
| 131 | + workspaces: |
| 132 | + - name: source |
| 133 | + emptyDir: {} |
| 134 | + - name: config |
| 135 | + volumeClaimTemplate: |
| 136 | + spec: |
| 137 | + accessModes: |
| 138 | + - ReadWriteOnce |
| 139 | + storageClassName: gp2 |
| 140 | + resources: |
| 141 | + requests: |
| 142 | + storage: 1Gi |
| 143 | + - name: results |
| 144 | + emptyDir: {} |
| 145 | + params: |
| 146 | + - name: cluster-name |
| 147 | + value: "awscli-eks-load-100" |
| 148 | + - name: desired-nodes |
| 149 | + value: "100" |
| 150 | + - name: pods-per-node |
| 151 | + value: "10" |
| 152 | + - name: nodes-per-namespace |
| 153 | + value: "100" |
| 154 | + - name: cl2-load-test-throughput |
| 155 | + value: "20" |
| 156 | + - name: results-bucket |
| 157 | + value: <replace it a s3 bucket to store test results> |
| 158 | + - name: slack-message |
| 159 | + value: "You can monitor here - https://tekton.scalability.eks.aws.dev/#/namespaces/tekton-pipelines/pipelineruns ;5k node " |
| 160 | + - name: slack-hook |
| 161 | + value: <slack hook url> |
| 162 | + - name: vpc-cfn-url |
| 163 | + value: "https://raw.githubusercontent.com/awslabs/kubernetes-iteration-toolkit/main/tests/assets/amazon-eks-vpc.json" |
| 164 | + podTemplate: |
| 165 | + nodeSelector: |
| 166 | + kubernetes.io/arch: amd64 |
| 167 | + serviceAccountName: tekton-pipelines-executor |
| 168 | +EOF |
| 169 | +``` |
71 | 170 |
|
72 | 171 | ### Test Images
|
73 | 172 |
|
|
0 commit comments