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

Allow user to set MinInstanceTypesForSpotToSpotConsolidation #1645

Open
leoryu opened this issue Sep 6, 2024 · 4 comments
Open

Allow user to set MinInstanceTypesForSpotToSpotConsolidation #1645

leoryu opened this issue Sep 6, 2024 · 4 comments
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@leoryu
Copy link

leoryu commented Sep 6, 2024

Description

What problem are you trying to solve?

At present, the MinInstanceTypesForSpotToSpotConsolidation is hard coded with 15. But sometime the users want the consolidation works enven the candidate spot instance types just one.

const MinInstanceTypesForSpotToSpotConsolidation = 15

How important is this feature to you?

I'm building an new provider, I think the karpenter core should give users more options when they want the spot-to-spot feature.

  • Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment
@leoryu leoryu added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 6, 2024
@k8s-ci-robot k8s-ci-robot added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Sep 6, 2024
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

If Karpenter contributors determines this is a relevant issue, they will accept it by applying the triage/accepted label and provide further guidance.

The triage/accepted label can be added by org members by writing /triage accepted in a comment.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@jonathan-innis
Copy link
Member

jonathan-innis commented Sep 16, 2024

But sometime the users want the consolidation works enven the candidate spot instance types just one

The reason we opted to not make this user-configurable is covered in the Original Spot to Spot Consolidation design but the essence of it is that if you make this number too small, you can race to the bottom and get constantly interrupted. Setting this value to a low value effectively reduces selecting spot instances down to selecting the cheapest spot instance -- which we're a bit weary of since it might cause a lot of application workload disruption.

@jonathan-innis
Copy link
Member

I'm hesitant to say that we will accept this -- given the implications. What's your use-case for wanting to change this value and what value do you want to set this to?

@leoryu
Copy link
Author

leoryu commented Sep 18, 2024

I'm hesitant to say that we will accept this -- given the implications. What's your use-case for wanting to change this value and what value do you want to set this to?

Since I have some workloads which are nice to have, these workloads are not required to work all the time. For this case, I don't want consolidation be blocked by the const, in other words, I want the value is just 1.

The default value is good for users to know the potential risks, but it is also makes sense to give users the accepting the risks option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
None yet
Development

No branches or pull requests

3 participants