karpenter icon indicating copy to clipboard operation
karpenter copied to clipboard

docs: add some documentation on how to implement a cloud provider

Open nerzhul opened this issue 11 months ago • 9 comments

Based on our recent experience at Veepee, we decided to contribute back some documentations to help people to implement Cloud Provider interface, as some examples are not complete for a real case, or too oriented to some cloud APIs.

Fixes #N/A

Description

How was this change tested?

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

nerzhul avatar Mar 18 '24 16:03 nerzhul

CLA Signed

The committers listed above are authorized under a signed CLA.

  • :white_check_mark: login: nerzhul / name: Loïc Blot (75ac2aa7c86953763beebcab3a34dd75e516aaef, 1eef670bcf1535d249db695a1a665215cdb88c56, 00330c98d5b94b48f3d945d8e62665c5fe8b5cbb)

Welcome @nerzhul!

It looks like this is your first PR to kubernetes-sigs/karpenter 🎉. Please refer to our pull request process documentation to help your PR have a smooth ride to approval.

You will be prompted by a bot to use commands during the review process. Do not be afraid to follow the prompts! It is okay to experiment. Here is the bot commands documentation.

You can also check if kubernetes-sigs/karpenter has its own contribution guidelines.

You may want to refer to our testing guide if you run into trouble with your tests not passing.

If you are having difficulty getting your pull request seen, please follow the recommended escalation practices. Also, for tips and tricks in the contribution process you may want to read the Kubernetes contributor cheat sheet. We want to make sure your contribution gets all the attention it needs!

Thank you, and welcome to Kubernetes. :smiley:

k8s-ci-robot avatar Mar 18 '24 16:03 k8s-ci-robot

Hi @nerzhul. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

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 avatar Mar 18 '24 16:03 k8s-ci-robot

Pull Request Test Coverage Report for Build 8340677653

Warning: This coverage report may be inaccurate.

This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 4 unchanged lines in 2 files lost coverage.
  • Overall coverage increased (+0.03%) to 78.983%

Files with Coverage Reduction New Missed Lines %
pkg/test/expectations/expectations.go 2 95.59%
pkg/scheduling/requirements.go 2 97.98%
<!-- Total: 4
Totals Coverage Status
Change from base Build 8299782184: 0.03%
Covered Lines: 8260
Relevant Lines: 10458

💛 - Coveralls

coveralls avatar Mar 18 '24 16:03 coveralls

Please share a link if its open source

+1 to what @Bryce-Soghigian said. We should link out to these CloudProviders in our README so that users have a pointer to all of the cloud providers that we support.

jonathan-innis avatar Mar 19 '24 08:03 jonathan-innis

Hello @Bryce-Soghigian and @jonathan-innis thanks for your amazing feedback, i'll try to answer asap , as i'm not a kubecon conferences but working today :)

Idea is to help people to port their cloud implementations showing the pre-requisites they need. i'll try to take some of your comments and re-test some things on our implementation (like the hydrated creation using original claim).

For the implementation, as it's a private cloud with its own APIs i don't think i can opensource it, as no one needs to use it. Also we are trying to have multi tenant compromise on our side as on our current node controllers we have multi client model where anyone can use namespaced CRD to define a node pool they want to populate, with their own credentials and account on our internal cloud (here i see a limitation on karpenter, as i don't see a way to do a Get or a List call with some client context, anyway it's out of PR scope :) )

nerzhul avatar Mar 19 '24 09:03 nerzhul

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: nerzhul Once this PR has been reviewed and has the lgtm label, please assign tzneal for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found 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 avatar Apr 02 '24 17:04 k8s-ci-robot

/assign @jmdeal

jonathan-innis avatar Apr 16 '24 18:04 jonathan-innis

This PR has been inactive for 14 days. StaleBot will close this stale PR after 14 more days of inactivity.

github-actions[bot] avatar May 01 '24 12:05 github-actions[bot]