-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[clusterapi] Add support for MachinePools #4676
[clusterapi] Add support for MachinePools #4676
Conversation
e9d0875
to
7d4a12f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
a lot of this makes sense to me, but i do have a concern about adding another flag.
hey @mboersma very nice work!! any updates in here? |
Eek, sorry! I've let this dangle for a while because it depends on kubernetes-sigs/cluster-api#6088 which is making its way toward consensus and merge still. Having said that, I think this could be mergeable separately if I can implement @elmiko's comment above about auto-detecting MachinePool support rather than adding a new command-line argument. I'll try to get to that this week, thanks for the nudge! |
Hey @mboersma Thanks for these changes. Any updates since kubernetes-sigs/cluster-api#6088 is merged now? |
@OmkarDeshpande7 I'm working on updating the actual MachinePool Machines implementation in CAPI (and CAPZ and perhaps CAPA). Once that's merged, this PR will finally make sense. Sorry to have let it dangle so long! I hope to have all the work done in the next two weeks, including this PR. |
Any updates on this? Support for MachinePools in autoscaler would be a killer feature for us and would really simplify how we manage node groups. |
@davidmortiz apologies, this is still waiting on the CAPI implementation of MachinePool Machines, which I am working on currently. |
/assign |
The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs. This bot triages issues and PRs according to the following rules:
You can:
Please send feedback to sig-contributor-experience at kubernetes/community. /lifecycle stale |
/remove-lifecycle stale |
yeah, i think that would be nice since it's only 2 commits |
f4c2aa8
to
03ea4bd
Compare
@mboersma i think we were meant to merge this last friday (apologies). would you mind fixing up the last doc comment and then squashing the commits? i'll merge after that. |
03ea4bd
to
15ae863
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hey @mboersma , i was about to approve and doing a final review and just have a question about a couple checks being removed.
5a198c3
to
182aeab
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i think this is looking pretty good, i'll take one more review tomorrow with fresh eyes. thanks again for the last minute changes @mboersma
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
apologies @mboersma , i found one more line that i have a question about
cluster-autoscaler/cloudprovider/clusterapi/clusterapi_controller.go
Outdated
Show resolved
Hide resolved
182aeab
to
17d2bd9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks for all the hard work @mboersma , i think this is looking good.
/cancel hold
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: elmiko, mboersma The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/hold cancel |
kubernetes/autoscaler#4676 introduced a bug to the cluster autoscaler clusterapi reconciler. The cluster autoscaler executable attempts to reconcile MachinePool resources, but does not have sufficient permissions to do so in its ClusterRole.
kubernetes/autoscaler#4676 introduced a bug to the cluster autoscaler clusterapi reconciler. The cluster autoscaler executable attempts to reconcile MachinePool resources, but does not have sufficient permissions to do so in its ClusterRole.
This is needed to let the autoscaler to operate openshift/kubernetes-autoscaler#256 (comment) kubernetes/autoscaler#4676
This is needed to let the autoscaler to operate openshift/kubernetes-autoscaler#256 (comment) kubernetes/autoscaler#4676
This is needed to let the autoscaler to operate openshift/kubernetes-autoscaler#256 (comment) kubernetes/autoscaler#4676
Which component this PR applies to?
cluster-autoscaler
What type of PR is this?
/kind feature
What this PR does / why we need it:
Adds support for MachinePools in the cluster-api backend to cluster-autoscaler. MachinePools require individual Machine resources to be represented in order for the cluster-api backend to manage the pools (the way it currently does MachineDeployments).
This functionality is turned on by
thedefault if MachinePool support is detected.--clusterapi-machinepool-machines
feature flagMachinePool Machines are a CAEP, and this PR is intended as a proof-of-concept to illuminate that discussion.
Which issue(s) this PR fixes:
Refs kubernetes-sigs/cluster-api#6088
See also kubernetes-sigs/cluster-api/pull#7938
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:
Credit here also goes to @CecileRobertMichon, who started this code almost a year ago, and to @Jont828 who helped finish and test it.