Commit Graph

5208 Commits

Author SHA1 Message Date
Michael McCune 3169a1cd9b add field keys to cluster autoscaler unit test structs
A few of the unit test structures did not have field name keys when
using literal structs. This change adds the fields to make this code a
little more future-proof.
2021-05-25 12:53:21 -04:00
Kubernetes Prow Robot fe5419d9a4
Merge pull request #4085 from brett-elliott/updatevendor-improvement
Print out error when unable to download module
2021-05-24 06:05:38 -07:00
Sylvain Rabot 43a4d51d8d
Update cluster-autoscaler/cloudprovider/aws/aws_manager.go
Co-authored-by: Guy Templeton <guyjtempleton@googlemail.com>
2021-05-24 12:49:30 +02:00
Kubernetes Prow Robot 5ab7792a20
Merge pull request #4089 from DataDog/templates-names-collisions
Fix templated nodeinfo names collisions in BinpackingNodeEstimator
2021-05-24 03:23:38 -07:00
Kubernetes Prow Robot a5802a2280
Merge pull request #3848 from DataDog/aws-arm-support
aws: support arm64 instances
2021-05-23 08:45:38 -07:00
Brett Elliott e1b7f629ef Print out error when unable to download module
Use shell syntax instead of pipe so error messages are printed out. Before
this change, if it could not download a module, it would just exit without
printing an error message due to the pipe. With this change it now prints
out the error message(unable to download) from the underlying process.
2021-05-21 17:39:35 +02:00
Amr Hanafi (MAHDI)) 8b2aee01e4 Update FAQ to mention the new flag 2021-05-21 08:25:16 -07:00
Kubernetes Prow Robot d33cc1bc40
Merge pull request #4091 from bskiba/master
Add patch deployment permission to example addon resizer deployment
2021-05-21 08:22:46 -07:00
Kubernetes Prow Robot b0948c70e9
Merge pull request #4058 from DataDog/gce-faster-lists-calls
gce: concurrent zonal List()s + opportunistic basename fill
2021-05-21 07:42:47 -07:00
Kubernetes Prow Robot a0b1a0de54
Merge pull request #4094 from brett-elliott/updatevendor4
Update vendor to v1.22.0-alpha.1
2021-05-21 01:40:57 -07:00
Amr Hanafi (MAHDI)) 3ac32b817c Update node group min/max on cloud provider refresh 2021-05-20 17:36:51 -07:00
Amr Hanafi (MAHDI)) f5c2ab7328 Emit the node group metrics behind a flag 2021-05-20 16:49:39 -07:00
Brett Elliott 5cf64a2b3c Update vendor to v1.22.0-alpha.1 2021-05-20 22:02:41 +02:00
Kubernetes Prow Robot af9480716c
Merge pull request #4092 from VladMasarik/up-docs
Document that CA is not responsible for registering new nodes
2021-05-20 05:29:04 -07:00
Vladimir Masarik 18dec33958 Document that CA is not responsible for registering new nodes 2021-05-20 13:27:52 +02:00
Beata Lach (Skiba) 775b54560f Add patch deployment permission to example addon resizer deployment 2021-05-20 10:55:27 +02:00
Kubernetes Prow Robot 329b977680
Merge pull request #4090 from marwanad/fix-broken-dep
update storage API version
2021-05-19 19:27:06 -07:00
Marwan Ahmed 7456f05b74 update storage API version 2021-05-19 17:54:09 -07:00
Benjamin Pineau 030a2152b0 Fix templated nodeinfo names collisions in BinpackingNodeEstimator
Both upscale's `getUpcomingNodeInfos` and the binpacking estimator now uses
the same shared DeepCopyTemplateNode function and inherits its naming
pattern, which is great as that fixes a long standing bug.

Due to that, `getUpcomingNodeInfos` will enrich the cluster snapshots with
generated nodeinfos and nodes having predictable names (using template name
+ an incremental ordinal starting at 0) for upcoming nodes.

Later, when it looks for fitting nodes for unschedulable pods (when upcoming
nodes don't satisfy those (FitsAnyNodeMatching failing due to nodes capacity,
or pods antiaffinity, ...), the binpacking estimator will also build virtual
nodes and place them in a snapshot fork to evaluate scheduler predicates.

Those temporary virtual nodes are built using the same pattern (template name
and an index ordinal also starting at 0) as the one previously used by
`getUpcomingNodeInfos`, which means it will generate the same nodeinfos/nodes
names for nodegroups having upcoming nodes.

But adding nodes by the same name in an existing cluster snapshot isn't
allowed, and the evaluation attempt will fail.

Practically this blocks re-upscales for nodegroups having upcoming nodes,
which can cause a significant delay.
2021-05-19 12:05:40 +02:00
Amr Hanafi (MAHDI)) 2bd7f0efa3 [cluster-autoscaler] Publish node group min/max metrics 2021-05-17 12:27:21 -07:00
Kubernetes Prow Robot 58eef9ca04
Merge pull request #4070 from StratoAG/change-uuid-lib
Replace package satori/go.uuid for cloudprovider ionoscloud
2021-05-13 15:36:05 -07:00
Kubernetes Prow Robot 6c64ac00c7
Merge pull request #4020 from gris-gris/fix-hetzner-example
add required api resources to hetzner cluster-autoscaler example
2021-05-13 15:34:04 -07:00
Kubernetes Prow Robot 2beea02a29
Merge pull request #3983 from elmiko/cluster-resource-consumption-metrics
Cluster resource consumption metrics
2021-05-13 15:32:04 -07:00
Kubernetes Prow Robot 56eed318c2
Merge pull request #4060 from dharmab/longUnregistered-logging
Log names of longUnregistered Nodes
2021-05-13 15:30:05 -07:00
Dharma Bellamkonda e80f7c502b Log names of longUnregistered Nodes 2021-05-12 14:09:01 -06:00
Kubernetes Prow Robot 9c95f41640
Merge pull request #4077 from towca/jtuznik/bizfly-go-mod
BizFly: remove go.mod from the inlined "gobizfly" client
2021-05-12 09:19:25 -07:00
Jakub Tużnik a5d2700712 BizFly: remove go.mod from the inlined "gobizfly" client
Right now the file is breaking `go mod` commands.
2021-05-12 18:02:28 +02:00
Mario Valderrama a1577ef849 Replace package satori/go.uuid for cloudprovider ionoscloud 2021-05-12 15:52:44 +02:00
Kubernetes Prow Robot 2e6ccacee6
Merge pull request #4023 from BigDarkClown/update-vendor-fork
Enable custom k8s fork in update-vendor.sh
2021-05-11 09:07:36 -07:00
Bartłomiej Wróblewski 23b4329759 Enable custom k8s fork in update-vendor.sh 2021-05-11 15:51:57 +00:00
Kubernetes Prow Robot b70dce36c5
Merge pull request #4067 from dharmab/scale-up-q
Document that TLS bootstrapping may be necessary for scale-up
2021-05-10 06:10:51 -07:00
Dharma Bellamkonda 1b0aa0c7a9 Document that TLS bootstrapping may be necessary for scale-up 2021-05-07 14:07:14 -06:00
Kubernetes Prow Robot 67dc894f38
Merge pull request #4061 from marwanad/stable-zone-labels
add stable zone labels in azure template generation
2021-05-05 21:27:16 -07:00
Marwan Ahmed dda7db08d9 add stable zone labels in azure template generation 2021-05-05 21:10:17 -07:00
Kubernetes Prow Robot c6d45357ab
Merge pull request #4056 from marwanad/support-separator-allocatables
support "/"separators in custom allocatable overrides via vmss tags
2021-05-05 16:59:17 -07:00
Benjamin Pineau 6432c27950 gce: concurrent zonal List()s + opportunistic basename fill
FetchAllMigs (unfiltered InstanceGroupManagers.List) is costly as it's not
bounded to MIGs attached to the current cluster, but rather lists all MIGs
in the project/zone, and therefore equally affects all clusters in that
project/zone. Running the calls concurrently over the region's zones (so at
most, 4 concurrent API calls, about once per minute) contains that impact.

findMigsInRegion might be scoped to the current cluster (name pattern),
but also benefits from the same improvement, as it's also costly and
called at each refreshInterval (1mn).

Also: we're calling out GCE mig.Get() API again for each MIG (at ~300ms per
API call, in my tests), sequentially and with the global cache lock held
(when updateClusterState -> ...-> GetMigForInstance kicks in). Yet we
already get that bit of information (MIG's basename) from any other
mig.Get or mig.List call, like the one fetching target sizes. Leveraging
this helps significantly on large fleets (for instance this shaves 8mn
startup time on the large cluster I tested on).
2021-05-05 17:13:11 +02:00
Marwan Ahmed 3e53369e17 support separators in custom allocatable overrides via vmss tags 2021-05-04 22:37:07 -07:00
Kubernetes Prow Robot 200415e990
Merge pull request #3940 from mcristina422/patch-1
Release leader election lock on shutdown
2021-05-04 07:21:11 -07:00
Kubernetes Prow Robot 6c4101b64c
Merge pull request #3797 from DataDog/aws-not-refreshes-dogpiles
aws: Don't pile up successive full refreshes during AWS scaledowns
2021-05-03 14:54:07 -07:00
Kubernetes Prow Robot 35b8e300b2
Merge pull request #3995 from tghartland/magnum-scale-to-zero
Enable magnum provider scale to zero
2021-05-03 12:00:08 -07:00
Kubernetes Prow Robot 89b237346f
Merge pull request #4040 from towca/jtuznik/owner
Remove vivekbagade, add towca as an approver in cluster-autoscaler/OWNERS
2021-05-03 03:32:03 -07:00
Kubernetes Prow Robot 1330ab1e5a
Merge pull request #4009 from bizflycloud/bizflycloud/bizflycloud-provider
cloudprovider: add Bizflycloud provider
2021-05-03 03:28:02 -07:00
Alastair Firth 29280eebd6
Add example to AWS readme if taint has value 2021-04-29 12:53:12 +02:00
Kubernetes Prow Robot 3c280300f9
Merge pull request #4047 from towca/jtuznik/mig-id
Cluster Autoscaler GCE: change the format of MIG id
2021-04-29 02:52:50 -07:00
Jakub Tużnik a15d9944f9 Cluster Autoscaler GCE: change the format of MIG id
The current implementation assumes MIG ids have the
"https://content.googleapis.com" prefix, while the
canonical id format seems to begin with "https://www.googleapis.com".
Both formats work while talking to the GCE API, but
the API returns the latter and other GCP services seem to
assume it as well.
2021-04-28 18:29:20 +02:00
Sylvain Rabot 535a21263e
Improve misleading log
Signed-off-by: Sylvain Rabot <sylvain@abstraction.fr>
2021-04-28 17:58:35 +02:00
Jakub Tużnik 249a7287ab Cluster Autoscaler: remove vivekbagade, add towca as an approver in OWNERS 2021-04-27 16:00:09 +02:00
Kubernetes Prow Robot 8dc1afb9a2
Merge pull request #4028 from jayantjain93/low-memory-offset
additional memory reservation for gce cloud provider for low memory m...
2021-04-22 08:59:41 -07:00
Jayant Jain 4d13cdde56 additional memory reservation for gce cloud provider for low memory machines 2021-04-22 12:57:25 +00:00
Kubernetes Prow Robot 3bfbc18c03
Merge pull request #3914 from wangchen615/customizable_recommender_kep
Add enhancement proposal for feature request #3913
2021-04-20 10:52:34 -07:00