You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- scheduler sets NNN before PreBind and WaitOnPermit, and does not set NNN when PreBind and Permit phases are skipped for the pod
425
-
426
-
More tests are WIP https://github.com/kubernetes/kubernetes/pull/133215
427
-
428
-
We're going to add these integration tests:
429
425
- The scheduler prefers to picking up nodes based on NominatedNodeName on pods, if the nodes are available.
430
426
- The scheduler ignores NominatedNodeName reservations on pods when it's scheduling higher priority pods.
431
427
- The scheduler overwrites NominatedNodeName when it performs the preemption, or when it finds another spot in another node and proceeding to the binding cycle (assuming there's a PreBind plugin).
432
428
- And, the scheduler (actually kube-apiserver, when receiving a binding request) clears NominatedNodeName when the pod is actually bound.
433
429
434
-
Also, with [scheduler-perf](https://github.com/kubernetes/kubernetes/tree/master/test/integration/scheduler_perf), we'll make sure the scheduling throughputs for pods that go through Permit or PreBind don't get regress too much.
435
-
We need to accept a small regression to some extent since there'll be a new API call to set NominatedNodeName.
436
-
But, as discussed, assuming PreBind already makes some API calls for the pods, the regression there should be small.
430
+
Also [scheduler-perf](https://github.com/kubernetes/kubernetes/tree/master/test/integration/scheduler_perf) was used to verify that the change did not impact scheduling throughput.
437
431
438
432
##### e2e tests
439
433
@@ -542,7 +536,7 @@ there'll be nothing behaving wrong in the scheduling flow, see [Version Skew Str
542
536
543
537
###### Were upgrade and rollback tested? Was the upgrade->downgrade->upgrade path tested?
544
538
545
-
We will do the following manual test after implementing the feature:
539
+
The following manual test has been executed after implelemting the feature.
546
540
547
541
1. upgrade
548
542
2. request scheduling of a pod that will need a long preBinding phase (e.g. uses volumes)
@@ -579,7 +573,7 @@ and also what types of scheduler customization you add.
579
573
580
574
So, here we just give a hint of a reasonable SLO, you need to adjust it based on your cluster's usual behaviors.
581
575
582
-
In the default scheduler, we should see the throughput around 100-150 pods/s ([ref](https://perf-dash.k8s.io/#/?jobname=gce-5000Nodes&metriccategoryname=Scheduler&metricname=LoadSchedulingThroughput&TestName=load)), and this feature shouldn't bring any regression there.
576
+
In the default scheduler, we should see the throughput around 100-150 pods/s ([ref](https://perf-dash.k8s.io/#/?jobname=gce-5000Nodes&metriccategoryname=Scheduler&metricname=LoadSchedulingThroughput&TestName=load)). This feature does not bring any regression there.
583
577
584
578
Based on that:
585
579
-`schedule_attempts_total` shouldn't be less than 100 in a second.
0 commit comments