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
docs: [RFC] Add v1beta1 API RFC #4274
Conversation
✅ Deploy Preview for karpenter-docs-prod canceled.
|
238e4ee
to
810bdfc
Compare
b6b3d21
to
4c9f48d
Compare
a647e9a
to
fa8ccb7
Compare
ca8bfc2
to
06eb4fa
Compare
ad4b2a2
to
2068978
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome work on this!!!
2068978
to
affeabf
Compare
Co-authored-by: Tim Bannister <tim@scalefactory.com>
618f3d3
to
79fe642
Compare
Great work! I had some time to think, this isn't necessarily a strong opinion but I think there is some value in considering. I don't know what the timeline looks like and maybe what I am thinking doesn't make sense at v1beta1 however I think there is an opportunity to drive some usability improvement since there is going to be significant work in changing the custom resources. I wanted to see if we can take some inspiration from https://gateway-api.sigs.k8s.io/ which is somewhat new and have been through quite a bit of changes in its overall design. Specifically the way it carved out custom resources that is able to abstract discrete configuration depending on personas. I think this way of thinking can yield quite a bit of insight into how to structure custom resources so that cluster operators can easily provide application developers the appropriate level of control. Starting with I think something nice would be "version" similar to LaunchTemplate version. This allows Cluster Operators to rollout and rollback changes to nodes safely and have the necessary controls when managing many NodeClasses. Ideally each NodeClasses version should be immutable. Right now it is difficult to expand on Thanks |
I'm still thinking on the other comment that you made around the Gateway API, but, for this one, the idea was that the Generally, we wanted to avoid creating too many disparate concepts that have to be individually reasoned about (i.e. more API kinds). We effectively have taken the stance that if something is common enough that it should be useful to all cloudproviders, then it should be hoisted up into the Is there a specific use-case that you have in mind where you think splitting out the details of the |
20c3bdf
to
4b8edd2
Compare
4b8edd2
to
5d5ec0d
Compare
|
||
1. API Group Renames | ||
1. `karpenter.k8s.aws` → `compute.k8s.aws` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same question here, wondering what prompted the reversal ...
#### `compute.k8s.aws` | ||
|
||
1. `compute.k8s.aws/instance-hypervisor` | ||
2. `compute.k8s.aws/instance-encryption-in-transit-supported` | ||
3. `compute.k8s.aws/instance-category` | ||
4. `compute.k8s.aws/instance-family` | ||
5. `compute.k8s.aws/instance-generation` | ||
6. `compute.k8s.aws/instance-local-nvme` | ||
7. `compute.k8s.aws/instance-size` | ||
8. `compute.k8s.aws/instance-cpu` | ||
9. `compute.k8s.aws/instance-memory` | ||
10. `compute.k8s.aws/instance-network-bandwidth` | ||
11. `compute.k8s.aws/instance-pods` | ||
12. `compute.k8s.aws/instance-gpu-name` | ||
13. `compute.k8s.aws/instance-gpu-manufacturer` | ||
14. `compute.k8s.aws/instance-gpu-count` | ||
15. `compute.k8s.aws/instance-gpu-memory` | ||
16. `compute.k8s.aws/instance-accelerator-name` | ||
17. `compute.k8s.aws/instance-accelerator-manufacturer` | ||
18. `compute.k8s.aws/instance-accelerator-count` | ||
#### `karpenter.k8s.aws` | ||
|
||
1. `karpenter.k8s.aws/instance-hypervisor` | ||
2. `karpenter.k8s.aws/instance-encryption-in-transit-supported` | ||
3. `karpenter.k8s.aws/instance-category` | ||
4. `karpenter.k8s.aws/instance-family` | ||
5. `karpenter.k8s.aws/instance-generation` | ||
6. `karpenter.k8s.aws/instance-local-nvme` | ||
7. `karpenter.k8s.aws/instance-size` | ||
8. `karpenter.k8s.aws/instance-cpu` | ||
9. `karpenter.k8s.aws/instance-memory` | ||
10. `karpenter.k8s.aws/instance-network-bandwidth` | ||
11. `karpenter.k8s.aws/instance-gpu-name` | ||
12. `karpenter.k8s.aws/instance-gpu-manufacturer` | ||
13. `karpenter.k8s.aws/instance-gpu-count` | ||
14. `karpenter.k8s.aws/instance-gpu-memory` | ||
15. `karpenter.k8s.aws/instance-accelerator-name` | ||
16. `karpenter.k8s.aws/instance-accelerator-manufacturer` | ||
17. `karpenter.k8s.aws/instance-accelerator-count` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jonathan-innis, I am curios what prompted the reversal of the original plan?
Fixes #N/A
Description
This PR proposes the
v1beta1
APIs and full Change List into the design directoryHow was this change tested?
Does this change impact docs?
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.