Merge pull request #125293 from sanposhiho/sched-perf-ds

scheduler_perf: measure the degradation of daemonset scheduling
This commit is contained in:
Kubernetes Prow Robot 2024-06-10 08:35:55 -07:00 committed by GitHub
commit 6e8e1f53b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 58 additions and 0 deletions

View File

@ -277,6 +277,33 @@
initPods: 5000
measurePods: 1000
# This test case simulates the scheduling of daemonset.
# https://github.com/kubernetes/kubernetes/issues/124709
- name: SchedulingDaemonset
defaultPodTemplatePath: config/templates/daemonset-pod.yaml
workloadTemplate:
# Create one node with a specific name (scheduler-perf-node),
# which is supposed to get all Pods created in this test case.
- opcode: createNodes
count: 1
nodeTemplatePath: config/templates/node-with-name.yaml
# Create other nodes that the scheduler has to filter out with PreFilterResult from NodeAffinity plugin.
- opcode: createNodes
countParam: $initNodes
nodeTemplatePath: config/templates/node-default.yaml
# Create pods with nodeAffinity (metadata.name=scheduler-perf-node).
# This scenario doesn't schedule each Pod to each Node though,
# they go through completely the same scheduling process as daemonset pods does.
- opcode: createPods
countParam: $measurePods
collectMetrics: true
workloads:
- name: 15000Nodes
labels: [performance, fast]
params:
initNodes: 15000
measurePods: 30000
- name: SchedulingNodeAffinity
defaultPodTemplatePath: config/templates/pod-with-node-affinity.yaml
workloadTemplate:

View File

@ -0,0 +1,17 @@
apiVersion: v1
kind: Pod
metadata:
generateName: daemonset-
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchFields:
- key: metadata.name
operator: In
values:
- scheduler-perf-node
containers:
- image: registry.k8s.io/pause:3.10
name: pause

View File

@ -0,0 +1,14 @@
apiVersion: v1
kind: Node
metadata:
name: scheduler-perf-node
spec: {}
status:
capacity:
pods: "90000"
cpu: "4"
memory: 32Gi
conditions:
- status: "True"
type: Ready
phase: Running