Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Error in user YAML: (<unknown>): did not find expected alphabetic or numeric character while scanning an alias at line 9 column 1
---
## Karpenter Headlamp Plugin

This Headlamp plugin adds **Karpenter-specific custom resources** to the Headlamp UI, helping users visualize, understand, and manage **autoscaling decisions** in a more intuitive way.

### Features

#### Current Features

* **NodeClass Visualization:**
    * Clean UI to view Karpenter NodeClass CRs
    * Shows key attributes (subnet selectors, IAM role, etc.)
    * Status and condition rendering in a human-readable format
* **Provisioner & NodePool Support:**
    * View and inspect Provisioners and NodePools
    * See constraints like CPU, requirements, disruption etc.
* **Pending Pod Dashboard:**
    * Displays pending pods blocked from scheduling
    * Shows unmet requirements
* **CRD Editing:**
    * Use Headlamp’s editor to configure Karpenter CRDs
    * Includes schema validation and diff preview

#### Upcoming Work

* **Real-time visualization of scaling decisions**
* **Prometheus integration for metrics like:**
    * Provisioning latency
    * Node lifecycle stats
    * Cost efficiency insights

---

Getting Started with Karpenter on EKS

Ensure you have Karpenter installed in your Kubernetes cluster:


Demo

Here is one demo video of the diff editor:

Screencast.from.2025-07-23.22-59-40.webm

Please see this and other closed PRs which have descriptions and more videos and screenshots of the features.


Karpenter Implementations

Karpenter is a multi-cloud project with implementations by the following cloud providers:


Testing the Plugin

Prerequisites

  • Node.js and npm
  • Docker
  • Helm
  • A Kubernetes cluster with Karpenter installed

Steps to Run Locally

  1. Clone the plugin repository:

    git clone https://github.com/headlamp-k8s/plugins.git
  2. Navigate to karpenter plugin directory

    cd karpenter
  3. Install all the required dependencies

    npm install
  4. Start the plugin in development mode

    npm start
  5. Launch Headlamp. You should now see "Karpenter" in the sidebar.