Commit Graph

521 Commits

Author SHA1 Message Date
Maciek Pytel 3e42b26a22 Per NodeGroup config for scale-down options
This is the implementation of
https://github.com/kubernetes/autoscaler/issues/3583#issuecomment-743215343.
2021-01-25 11:00:17 +01:00
Maciek Pytel 08d18a7bd0 Define interfaces for per NodeGroup config.
This is the first step of implementing
https://github.com/kubernetes/autoscaler/issues/3583#issuecomment-743215343.
New method was added to cloudprovider interface. All existing providers
were updated with a no-op stub implementation that will result in no
behavior change.
The config values specified per NodeGroup are not yet applied.
2021-01-25 11:00:16 +01:00
Yaroslava Serdiuk d7e0182d21 Minor fixes. DaemonSet eviction for empty nodes 2021-01-21 13:52:40 +00:00
Yaroslava Serdiuk 7068bc48f6 add DaemonSet eviction option for empty nodes 2021-01-20 18:58:16 +00:00
Kubernetes Prow Robot 58be2b7505
Merge pull request #3649 from ClearTax/cordon-node-issue-3648
Adding functionality to cordon the node before destroying it.
2021-01-14 04:19:04 -08:00
atul 7670d7b6af Adding functionality to cordon the node before destroying it. This helps load balancer to remove the node from healthy hosts (ALB does have this support).
This won't fix the issue of 502 completely as there is some time node has to live even after cordoning as to serve In-Flight request but load balancer can be configured to remove Cordon nodes from healthy host list.
This feature is enabled by cordon-node-before-terminating flag with default value as false to retain existing behavior.
2021-01-14 17:21:37 +05:30
david.benque 2529b667c5 ignoring terminated pods in scaledown 2020-12-21 16:22:50 +01:00
Kubernetes Prow Robot aa9367f56f
Merge pull request #3701 from yaroslava-serdiuk/DS_evict
add daemonset eviction for non-empty nodes
2020-11-30 05:02:49 -08:00
Yaroslava Serdiuk dcf0970208 add daemonset eviction for non-empty nodes 2020-11-30 11:53:16 +00:00
Bartłomiej Wróblewski e614e35a64 Import PodPriority from k8s.io/component-helpers 2020-11-30 10:49:48 +00:00
Bartłomiej Wróblewski 0fb897b839 Update imports after scheduler scheduler/framework/v1alpha1 removal 2020-11-30 10:48:52 +00:00
Michael Cristina 67ae3d9eb8 Reduce logging in scale calculation 2020-10-23 16:49:07 -05:00
Kubernetes Prow Robot 736c624181
Merge pull request #3152 from knight42/fix/exclude-virtual-kubelet
Exclude the virtual node from nodes not created by auto scaling group
2020-10-22 04:55:35 -07:00
Jakub Tużnik bf18d57871 Remove ScaleDownNodeDeleted status since we no longer delete nodes synchronously 2020-10-01 11:12:45 +02:00
Kubernetes Prow Robot fde90dee45
Merge pull request #3509 from marwanad/fix-metric-label
correctly label failed scale ups error
2020-09-17 12:52:45 -07:00
Riccardo Murri ce19ac96ea
Fix typo in scale_down.go 2020-09-17 12:25:33 +02:00
Marwan Ahmed a3bada3708 correctly classify error for failed scale ups 2020-09-13 21:14:27 -07:00
Jakub Tużnik 3958c6645d Add an annotation identifying upcoming nodes 2020-07-24 15:20:34 +02:00
Maciek Pytel 9fb6cdc079 Fix go fmt errors 2020-06-08 13:52:24 +02:00
Maciek Pytel 2160e6d49e Rewrite glogx to work with klogv2 (+rename klogx) 2020-06-05 17:22:26 +02:00
Maciek Pytel 655b4081f4 Migrate to klog v2 2020-06-05 17:22:26 +02:00
knight42 056ffe2268
fix: exclude the virtual node 2020-05-25 01:05:50 +08:00
Enxebre 49ce70acbd report MaxNodesTotal count during scale up
This change adds a warning event to signal when a planned scale up
operation would go over the maximum total nodes. This is being proposed
for two primary reasons: as an event that can be watched during
end-to-end testing, and as a signal to users when this condition is
occurring.
2020-05-14 10:28:18 -04:00
Jakub Tużnik 73a5cdf928 Address recent breaking changes in scheduler
The following things changed in scheduler and needed to be fixed:
* NodeInfo was moved to schedulerframework
* Some fields on NodeInfo are now exposed directly instead of via getters
* NodeInfo.Pods is now a list of *schedulerframework.PodInfo, not *apiv1.Pod
* SharedLister and NodeInfoLister were moved to schedulerframework
* PodLister was removed
2020-04-24 17:54:47 +02:00
Łukasz Osipiuk 9642b6dc38 Placement hinting in filter_out_schedulable.go 2020-03-24 20:48:50 +01:00
Łukasz Osipiuk 2ee7b7c5a9 Add negative results caching in filterOutSchedulableByPacking 2020-03-24 17:24:37 +01:00
Jakub Tużnik 8f1efc9866 Add NodeInfoProcessor for proccesing nodeInfosForNodeGroups 2020-03-20 15:19:18 +01:00
Adam Malcontenti-Wilson 8313e969c7 Add support for passing in custom ignore labels 2020-03-17 14:30:03 +11:00
Łukasz Osipiuk a6023265e7 Add clarifying comment regarding podDestination and scaleDownCandidates variables 2020-03-10 15:18:52 +01:00
Aleksandra Malinowska 26217096b5 extract check node utilization 2020-03-10 12:07:27 +01:00
Aleksandra Malinowska 81a9be0b65 clean up stale unremovable data when updating unremovable nodes 2020-03-10 12:07:27 +01:00
Aleksandra Malinowska ce18f7119c change order of arguments for TryToScaleDown 2020-03-10 11:36:57 +01:00
Aleksandra Malinowska b0e91731c6 fix typo in utilization 2020-03-10 11:36:36 +01:00
Łukasz Osipiuk 384d2902b0 Add context argument to Pods.Evict call
Change-Id: I02341ca8dae550569a1c6fec4b88d92a145cd5d4
2020-03-10 09:46:49 +01:00
Aleksandra Malinowska 281d405bee get rid of node infos list in try to scale down 2020-03-09 14:24:06 +01:00
Aleksandra Malinowska 9c5507eb95 pass list of destination names, not map 2020-03-09 14:15:16 +01:00
Aleksandra Malinowska f1a84f4289 log error when removing node from unremovable map 2020-03-09 13:57:23 +01:00
Aleksandra Malinowska 02153394ed use named return values in chooseCandidates 2020-03-09 13:49:02 +01:00
Aleksandra Malinowska 6018896b88 clean up commented out code 2020-03-09 13:46:11 +01:00
Aleksandra Malinowska 18afc19da3 remove unnecessary node info list 2020-03-09 13:44:55 +01:00
Aleksandra Malinowska 38a920c423 pass names of destinations to find nodes to remove 2020-03-05 16:09:51 +01:00
Aleksandra Malinowska d53cd35818 pass node names instead of node infos to find nodes to remove 2020-03-05 12:07:36 +01:00
Aleksandra Malinowska 93cc3643bd get candidate node infos from snapshot instead of filtering list 2020-03-05 11:33:59 +01:00
Aleksandra Malinowska 17f6f29fc5 don't pass node infos to update unremovable nodes 2020-03-05 11:29:55 +01:00
Aleksandra Malinowska 0b7c45e88a stop passing scheduled pods around 2020-03-03 16:23:49 +01:00
Aleksandra Malinowska d11b39603d pass node infos to simulator 2020-03-03 16:23:49 +01:00
Aleksandra Malinowska ef9d895463 pass node infos to chooseCandidates 2020-03-03 16:23:49 +01:00
Aleksandra Malinowska 0b4dfe68e3 use node info when computing resoures 2020-03-03 16:23:49 +01:00
Aleksandra Malinowska ec0ba6b037 use node infos in try to scale down 2020-03-03 16:23:49 +01:00
Aleksandra Malinowska 572bad61ce use nodes from snapshot in scale down 2020-03-03 16:23:49 +01:00