-
Feature
-
Resolution: Unresolved
-
Major
-
None
-
None
-
BU Product Work
-
False
-
-
False
-
50% To Do, 0% In Progress, 50% Done
-
0
-
Program Call
Feature Overview (aka. Goal Summary)
As a cluster administrator, I want to use Karpenter on an OpenShift cluster running in AWS to scale nodes instead of Cluster Autoscalar(CAS).
This feature covers the work done to integrate the upstream CAPI provider for Karpenter with ROSA HCP.
Goals (aka. expected user outcomes)
As a cluster-admin/SRE I should be able to use the new CAPI provider for Karpenter(with upstream CAPA) to use Karpenter in OpenShift on AWS.
- Tuning upstream PoC karpenter-provider-cluster-api for aws experience
- ensuring that metadata from aws services is present on capi objects
- closing feature gap with karpenter-provider-aws around pricing data
- Write end-to-end tests for karpenter-provider-cluster-api running on OCP AWS
- Create an enhancement document for the upstream CAPI provider for Karpenter
- this will require some consensus from community
- once enhancement is accepted, we can pivot from PoC version to released version (alpha/beta)
Requirements (aka. Acceptance Criteria):
As a cluster-admin or SRE I should be able to configure Karpenter with OCP on AWS. Both cli and UI should enable users to configure Karpenter and disable CAS.
Anyone reviewing this Feature needs to know which deployment configurations that the Feature will apply to (or not) once it's been completed. Describe specific needs (or indicate N/A) for each of the following deployment scenarios. For specific configurations that are out-of-scope for a given release, ensure you provide the OCPSTRAT (for the future to be supported configuration) as well.
Deployment considerations | List applicable specific needs (N/A = not applicable) |
Self-managed, managed, or both | both |
Classic (standalone cluster) | |
Hosted control planes | yes |
Multi node, Compact (three node), or Single node (SNO), or all | MNO |
Connected / Restricted Network | Connected |
Architectures, e.g. x86_x64, ARM (aarch64), IBM Power (ppc64le), and IBM Z (s390x) | x86_x64, ARM (aarch64) |
Operator compatibility | |
Backport needed (list applicable versions) | No |
UI need (e.g. OpenShift Console, dynamic plugin, OCM) | yes - console |
Other (please specify) | oc-cli |
Use Cases (Optional):
Include use case diagrams, main success scenarios, alternative flow scenarios. Initial completion during Refinement status.
<your text here>
Questions to Answer (Optional):
Include a list of refinement / architectural questions that may need to be answered before coding can begin. Initial completion during Refinement status.
<your text here>
Out of Scope
High-level list of items that are out of scope. Initial completion during Refinement status.
Creating a multi-provider cost/pricing operator compatible with CAPI is beyond the scope of this Feature. That may take more time.
Background
Provide any additional context is needed to frame the feature. Initial completion during Refinement status.
- Karpenter.sh is an open-source node provisioning project built for Kubernetes. It is designed to simplify Kubernetes infrastructure by automatically launching and terminating nodes based on the needs of your workloads. Karpenter can help you to reduce costs, improve performance, and simplify operations.
- Karpenter works by observing the unscheduled pods in your cluster and launching new nodes to accommodate them. Karpenter can also terminate nodes that are no longer needed, which can help you save money on infrastructure costs.
- Karpenter architecture has a Karpenter-core and Karpenter-provider as components.
The core has AWS code which does the resource calculation to reduce the cost by re-provisioning new nodes.
Customer Considerations
Provide any additional customer-specific considerations that must be made when designing and delivering the Feature. Initial completion during Refinement status.
<your text here>
Documentation Considerations
Provide information that needs to be considered and planned so that documentation will meet customer needs. If the feature extends existing functionality, provide a link to its current documentation. Initial completion during Refinement status.
<your text here>
Interoperability Considerations
Which other projects, including ROSA/OSD/ARO, and versions in our portfolio does this feature impact? What interoperability test scenarios should be factored by the layered products? Initial completion during Refinement status.
<your text here>
- depends on
-
OCPSTRAT-1527 Phase 2 : Get CAPI provider working for standalone OCP on AWS
- New
-
OCPSTRAT-1586 Phase 1 : PoC for a new upstream CAPI provider for Karpenter on AWS - (part-2)
- New
-
OCPSTRAT-1526 [Upstream] Phase 1 : PoC for a new upstream CAPI provider for Karpenter on AWS- (part-1)
- Closed
- is cloned by
-
OCPSTRAT-1331 Provisioning Request CRD support in Autoscaler
- New
-
OCPSTRAT-1498 Phase 4: get CAPI provider for Karpenter working for ARO+HCP
- Refinement
-
OCPSTRAT-1526 [Upstream] Phase 1 : PoC for a new upstream CAPI provider for Karpenter on AWS- (part-1)
- Closed
- is depended on by
-
OCPSTRAT-1498 Phase 4: get CAPI provider for Karpenter working for ARO+HCP
- Refinement
- relates to
-
RFE-3611 Provide fallback or priorization for MachineSet/MachinePools to guarantee scale-up in case instance type is not available
- Backlog
-
RFE-3931 Karpenter support for ROSA
- Accepted