mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-02 08:17:26 +00:00
Merge pull request #125293 from sanposhiho/sched-perf-ds
scheduler_perf: measure the degradation of daemonset scheduling
This commit is contained in:
commit
6e8e1f53b0
@ -277,6 +277,33 @@
|
|||||||
initPods: 5000
|
initPods: 5000
|
||||||
measurePods: 1000
|
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
|
- name: SchedulingNodeAffinity
|
||||||
defaultPodTemplatePath: config/templates/pod-with-node-affinity.yaml
|
defaultPodTemplatePath: config/templates/pod-with-node-affinity.yaml
|
||||||
workloadTemplate:
|
workloadTemplate:
|
||||||
|
@ -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
|
@ -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
|
Loading…
Reference in New Issue
Block a user