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

Add Karpenter support #7198

Open
Skarlso opened this issue Sep 8, 2022 · 23 comments
Open

Add Karpenter support #7198

Skarlso opened this issue Sep 8, 2022 · 23 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. kind/proposal Issues or PRs related to proposals. priority/backlog Higher priority than priority/awaiting-more-evidence. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@Skarlso
Copy link

Skarlso commented Sep 8, 2022

User Story

I would like to use Karpenter as auto-scaler.

Detailed Description

Karpenter provides a nice way of configuring autoscaling options. Right now, there is only support for AWS but more can / will be added later on with providers mechanism.

CAPI can support Karpenter being installed as an autoscaler.

https://karpenter.sh/

Anything else you would like to add:

Some talk has already been initiated about Karpetner supporting installation into CAPI/CAPA clusters here: kubernetes-sigs/karpenter#747

And another one was opened in CAPA, but was decided/suggested that this should be implemented in CAPI since its like the cluster-autoscaler here: kubernetes-sigs/cluster-api-provider-aws#3564

/kind feature

@k8s-ci-robot k8s-ci-robot added the kind/feature Categorizes issue or PR as related to a new feature. label Sep 8, 2022
@k8s-ci-robot
Copy link
Contributor

@Skarlso: This issue is currently awaiting triage.

If CAPI 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/test-infra repository.

@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 8, 2022
@sbueringer
Copy link
Member

cc @randomvariable @elmiko (just fyi)

@fabriziopandini
Copy link
Member

/triage needs-information

while I'm generally +1 to support tools in the ecosystem, I think we should qualify a little bit better what are the implication in cluster-API for this request; TBD if this requires a proposal

@k8s-ci-robot k8s-ci-robot added the triage/needs-information Indicates an issue needs more information in order to work on it. label Sep 9, 2022
@Skarlso
Copy link
Author

Skarlso commented Sep 9, 2022

👍 For sure. I'm not very well versed with CAPI so I'm unsure what the implications are and what they look like. I require some help in determining that. :)

@fabriziopandini
Copy link
Member

that's fair. I think we can start collecting what karpenter needs, then someone can step in to help in defining how this can be implemented in CAPI

@Skarlso
Copy link
Author

Skarlso commented Sep 9, 2022

Awesome. Sounds good. I can add what little information I know. :) The attached Karpenter ticket details some of the things that Karpenter itself is working on to make this a viable thing. It might even be that we have to wait for them a bit to come up with something.

@elmiko
Copy link
Contributor

elmiko commented Sep 9, 2022

thanks for the ping @sbueringer , definitely sounds like a good use case to me. from my understanding of karpenter i imagine there would be work to be done around synchronizing the instances created by it with the records that cluster-api keeps. perhaps this might be best used with MachinePools?

as i understand it, karpenter wants to talk directly to the AWS infrastructure. i had looked into a cluster-api provider for karpenter but had trouble integrating with their efforts at the time, i would imagine it's stabilized some since then. i have a feeling that deploying karpenter in a cluster-api cluster will look slightly different than with the cluster-autoscaler mainly due to the differences with how they both talk to the infrastructure.

with all that said, i have a feeling that deploying karpenter inside an AWS cluster would work, but i'm not sure what effect it would have on the MachineDeployments/Sets as those would get out of sync with its decision making. additionally, i believe karpenter wants to have access to a variety of instance sizes for it to create, this is where linking to a MachinePool style resource might make more sense.

happy to see this brought up =)

@fabriziopandini fabriziopandini removed the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Nov 30, 2022
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Feb 28, 2023
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough active contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle rotten
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Mar 30, 2023
@Skarlso
Copy link
Author

Skarlso commented Mar 31, 2023

/remove-lifecycle rotten

@k8s-ci-robot k8s-ci-robot removed the lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. label Mar 31, 2023
@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue as fresh with /remove-lifecycle stale
  • Close this issue with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jun 29, 2023
@vincepri
Copy link
Member

/lifecycle frozen

@k8s-ci-robot k8s-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Aug 23, 2023
@elmiko
Copy link
Contributor

elmiko commented Aug 23, 2023

we talked about this issue at the community meeting, i am going to see if there is interest in forming a feature group to investigate capi/karpenter integration. ideally, i will put a poll up in our slack channel sometime next week to see if we have enough interest to meet up.

@fabriziopandini
Copy link
Member

/priority backlog

@k8s-ci-robot k8s-ci-robot added the priority/backlog Higher priority than priority/awaiting-more-evidence. label Apr 12, 2024
@fabriziopandini fabriziopandini added kind/proposal Issues or PRs related to proposals. and removed triage/needs-information Indicates an issue needs more information in order to work on it. labels Apr 12, 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 Apr 12, 2024
@k8s-ci-robot
Copy link
Contributor

This issue is currently awaiting triage.

CAPI contributors will take a look as soon as possible, apply one of the triage/* labels and provide further guidance.

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/test-infra repository.

@elmiko
Copy link
Contributor

elmiko commented Apr 12, 2024

just to update here, the karpenter feature group has been meeting for several months now and we have agreed on a design and are working towards a proof-of-concept to demonstrate for the wider cluster-api community.

@fabriziopandini
Copy link
Member

fabriziopandini commented Apr 18, 2024

@elmiko It would be great to share the design with the broader community to get a first quick round of feedback
(it is also in the mission of the working groups to / important for their success to give periodic upgrade)

@elmiko
Copy link
Contributor

elmiko commented Apr 18, 2024

@fabriziopandini absolutely. i think it's taken some time to land on what will work for us, i am preparing a slidedeck to present at an upcoming capi meeting to help further the discussion.

@dtzar
Copy link
Contributor

dtzar commented May 9, 2024

For reference, there is a feature group meeting for this: https://hackmd.io/@elmiko/ryR2VXR0n

@fabriziopandini fabriziopandini added the triage/accepted Indicates an issue or PR is ready to be actively worked on. label Jun 5, 2024
@k8s-ci-robot k8s-ci-robot removed the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jun 5, 2024
@fabriziopandini fabriziopandini removed the lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. label Jun 5, 2024
@memorais
Copy link

Hi there, as cluster admin I'm interested to see this working. If any help is needed here, I would be happy to participate.

@dntosas
Copy link
Contributor

dntosas commented Nov 16, 2024

@elmiko hey! is this project still alive?

@elmiko
Copy link
Contributor

elmiko commented Nov 19, 2024

@dntosas yes it is!

we have contributed the initial version to the cncf, you can find it here https://github.com/kubernetes-sigs/karpenter-provider-cluster-api

and we have feature group meeting every other wednesday, see more here https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/community/20231018-karpenter-integration.md

perhaps we should close this issue, but i don't think we have fully landed on our final architecture. that said, the project works and we are now iterating on different architecture designs and addressing bugs.

@Skarlso
Copy link
Author

Skarlso commented Nov 19, 2024

Oh that is absolutely fantastic. :)

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. kind/proposal Issues or PRs related to proposals. priority/backlog Higher priority than priority/awaiting-more-evidence. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

10 participants