Measure performance of scheduling when many gated pods

This commit is contained in:
Maciej Skoczeń
2024-06-13 13:29:05 +00:00
parent c09440c691
commit 05b2c14d64
3 changed files with 50 additions and 0 deletions

View File

@@ -1044,3 +1044,34 @@
measurePods: 2500
measureClaims: 500 # must be measurePods / 5
maxClaimsPerNode: 2
# This test case simulates the scheduling when many pods are gated and others are gradually deleted.
# https://github.com/kubernetes/kubernetes/issues/124384
- name: SchedulingWhileGated
defaultPodTemplatePath: config/templates/light-pod.yaml
workloadTemplate:
- opcode: createNodes
count: 1
nodeTemplatePath: config/templates/node-with-name.yaml
# Create pods that will stay gated to the end of the test.
- opcode: createPods
countParam: $gatedPods
podTemplatePath: config/templates/gated-pod.yaml
skipWaitToCompletion: true
# Wait to make sure gated pods are enqueued in scheduler.
- opcode: sleep
duration: 5s
# Create pods that will be gradually deleted after being scheduled.
- opcode: createPods
countParam: $deletingPods
deletePodsPerSecond: 50
- opcode: createPods
countParam: $measurePods
collectMetrics: true
workloads:
- name: 1Node
labels: [performance, fast]
params:
gatedPods: 10000
deletingPods: 20000
measurePods: 20000

View File

@@ -0,0 +1,10 @@
apiVersion: v1
kind: Pod
metadata:
generateName: gated-pod-
spec:
schedulingGates:
- name: test.k8s.io/hold
containers:
- image: registry.k8s.io/pause:3.10
name: pause

View File

@@ -0,0 +1,9 @@
apiVersion: v1
kind: Pod
metadata:
generateName: light-pod-
spec:
containers:
- image: registry.k8s.io/pause:3.10
name: pause
terminationGracePeriodSeconds: 0