-
Notifications
You must be signed in to change notification settings - Fork 984
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
Support Instance Volume Configuration in Provisioner #939
Comments
I cannot run my TensorFlow serving pods with only 20GB of SSD. Please provide this feature soon! |
We've discussed summing For volumes, we need something like #622. |
This would be an excellent feature that would solve the "80% case" in my opinion. 👍🏻 The issue with the number or size of containers is trickier to solve since Karpenter wouldn't have that information available readily. This may be a speciality use case where we accept maintaining our own launch templates or add ephemeral storage requests to pods with known large containers to trigger the above. This is a rather minor point either way that probably doesn't warrant a complex solution. |
Is it possible to prioritize this issue? It's really a blocking one. |
FWIW in the interim we are running a patched version of Karpenter that hardcodes root volume to 60GiB. See here for code: CourtAPI@8111c2b. To deploy it in our cluster, we:
env CLOUD_PROVIDER=aws RELEASE_REPO=public.ecr.aws/your-alias/karpenter make publish
controller:
# ...
image: "public.ecr.aws/..." # Whatever image `make publish` created |
This command no longer seems to work on 0.6.3. I see that in the latest versions of the code, the disk is already defined in the
I've been trying to figure out how to compile this project and push it to my ECR registry, but I've wasted already too much time. I'm not that familiar with go and the toolchain. If anyone has a set of commands/steps to run on how to get this project compiled and pushed to a repository, that would be an enormous help. |
https://karpenter.sh/v0.6.3/development-guide/ IIUC, @bwagner5 is already working on this. |
Block Device Mappings configuration has been merged and should be released next week. You can check out the preview docs here: https://karpenter.sh/preview/aws/provisioning/#block-device-mappings |
There's no match between the docs and the validation found here: https://github.com/aws/karpenter/blob/c1d08c6c91019443746ef310f2cd778335b4be65/pkg/cloudprovider/aws/apis/v1alpha1/provider.go#L129 This gives an error on unknown
Only this will work:
|
Thank you for pointing this out! I just submitted a PR to correct the docs, apologies for the inconvenience! :) |
Hi, I am using Karpenter for scheduling my Spark jobs on EKS. My provisioner has some requirements on multiple instance families and sizes like below: `
With "blockDeviceMappings" we can define the EBS volume size attached to the instances. But As you can see, I have different instance sizes, so it is logical to adapt the EBS volume size according to the instance type taken by Karpenter. Do you know if there is a way to let Karpenter adapt this size "intelligently" ? Kind of with a ratio, for exemple, in the "blockDeviceMappings" we can take a base of 20GB for a "small" one, and it should multiply the "ratio" with 20GB. Thanks a lot. |
facing exact same issue here.
It will be very useful if karpenter let you dynamically choose your instance disk by its size.
|
I would like instance root volume to be configurable without a custom launch template. I am aware this is possible with a custom launch template, but we do not want to maintain a custom launch template just to increase storage.
User Story 1:
User Story 2:
User Story 3:
Proposed Solution:
The text was updated successfully, but these errors were encountered: