Uploaded image for project: 'OpenShift Container Platform (OCP) Strategy'
  1. OpenShift Container Platform (OCP) Strategy
  2. OCPSTRAT-1526

[Upstream] Phase 1 : PoC for a new upstream CAPI provider for Karpenter on AWS- (part-1)

XMLWordPrintable

    • Upstream
    • False
    • Hide

      None

      Show
      None
    • False
    • 0% To Do, 0% In Progress, 100% Done
    • 0
    • Program Call

      Feature Overview (aka. Goal Summary)  

      This is a upstream work and not impacting the release of OpenShift 4.17.
      This feature covers the work done upstream to create a CAPI provider for Karpenter. Feature will also document the unsupported way  to integrate Karpenter with ROSA classic. In the subsequent phases, the CAPI provider will be tested with HCP/standalone OCP.

      Goals (aka. expected user outcomes)

      1. Create a PoC for a new upstream CAPI provider for Karpenter.
        1. integration with Cluster API CRD objects
        2. using MachineDeployment to scale cluster size
        3. initial implementation relies on annotations to convey metadata about cloud resources
          1. this will start with resource capacity and availability
          2. will grow to encompass pricing information
        4. user experience is focused on Cluster API CRD objects to control behavior of provider specific provisioning with Karpenter CRD objects controlling behavior of autoscaling/provisioning
        5. the PoC will start as a minimal viable product and grow with help from community

       

      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 none
      Classic (standalone cluster)  
      Hosted control planes none
      Multi node, Compact (three node), or Single node (SNO), or all  
      Connected / Restricted Network  
      Architectures, e.g. x86_x64, ARM (aarch64), IBM Power (ppc64le), and IBM Z (s390x) x86_x64
      Operator compatibility  
      Backport needed (list applicable versions) No
      UI need (e.g. OpenShift Console, dynamic plugin, OCM) No
      Other (please specify) No

       

      Out of Scope

      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.

       

              rh-ee-smodeel Subin M
              rh-ee-smodeel Subin M
              Alberto Garcia Lamela, Joel Speed, Julio Faerman, Michael McCune, Subin M
              Zhaohua Sun Zhaohua Sun
              Jeana Routh Jeana Routh
              Michael McCune Michael McCune
              Subin M Subin M
              Votes:
              1 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: