Skip to content
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

ovhcloud: Add support for nodepool templating #5586

Conversation

XavierDuthil
Copy link
Contributor

What type of PR is this?

/kind feature

What this PR does / why we need it:

Allows the autoscaler to scale up an empty OVHCloud nodepool with specific templating (e.g. labels) that is needed to accommodate the Pending pods.

The templating was not taken into account when generating the node upscale simulation, which resulted in errors of the following kind:

Pod runner-t7kqpv4z-project-2-concurrent-0swpm6 can't be scheduled on gitlab-runner-pool-small, predicate checking error: node(s) didn't match Pod's node affinity/selector; predicateName=NodeAffinity; reasons: node(s) didn't match Pod's node affinity/selector

With this PR the simulation is closer to the truth and the node group is successfully scaled up by the autoscaler.

This fix has already been released in production for the cluster-autoscaler instances running on the OVHcloud Managed Kubernetes product.

Which issue(s) this PR fixes:

Special notes for your reviewer:

The OVHCloud nodepool template feature is described in the following documentation: https://support.us.ovhcloud.com/hc/en-us/articles/1500005054502-How-to-Manage-Nodes-and-Node-Pools-with-the-OVHcloud-API

Does this PR introduce a user-facing change?

## OVHcloud
- Add support for OVHCloud's nodepool templating features

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

Should fix the autoscaler being unable to scale up an empty nodepool with specific template, because the template was not processed when setting up the upscale simulation (with the following error: "node(s) didn't match Pod's node affinity/selector")

Signed-off-by: Xavier Duthil <xavier.duthil@ovhcloud.com>
@k8s-ci-robot k8s-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. area/cluster-autoscaler labels Mar 10, 2023
@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Mar 10, 2023
Copy link
Contributor

@mwielgus mwielgus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm
/approve

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Mar 16, 2023
@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mwielgus, XavierDuthil

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Mar 16, 2023
@k8s-ci-robot k8s-ci-robot merged commit 01972d2 into kubernetes:master Mar 16, 2023
@XavierDuthil XavierDuthil deleted the ovhcloud/add-support-for-nodepool-templating branch March 21, 2023 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/cluster-autoscaler cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants