# Karpenter IBM Cloud Provider
Automatic Node Provisioning for Kubernetes on IBM Cloud VPC
## Overview
The Karpenter IBM Cloud Provider enables automatic node provisioning and scaling for Kubernetes clusters running on IBM Cloud VPC infrastructure. It implements the Karpenter provisioning APIs to provide just-in-time compute resources based on application demands.
- :rocket: **[Getting Started](getting-started.md)**
Get up and running with Karpenter on IBM Cloud in minutes
- :cloud: **[VPC Integration](vpc-integration.md)**
Deploy on self-managed Kubernetes clusters with full control
- :office: **[IKS Integration](iks-integration.md)**
Seamless integration with IBM Kubernetes Service
- :gear: **[Configuration](bootstrap-methods.md)**
Learn about bootstrap methods and configuration options
- :building_construction: **[Nightly Builds](nightly-builds.md)**
Access bleeding-edge features and development versions
- :speaking_head: **[Presentations](presentations.md)**
Conference talks and demos about the project
- :question: **[FAQ](faq.md)**
Frequently asked questions about Karpenter IBM Cloud Provider
## Key Features
### Automatic Node Provisioning
- **Just-in-Time Compute**: Provisions nodes automatically when pods are unschedulable
- **Intelligent Instance Selection**: Chooses optimal instance types based on workload requirements
- **Multi-Zone Support**: Distributes nodes across availability zones for high availability
### Zero-Configuration Bootstrap
- **Automatic Cluster Discovery**: Detects cluster configuration without manual setup
- **Dynamic Bootstrap Scripts**: Generates appropriate initialization scripts
- **Multiple Bootstrap Modes**: Supports VPC, IKS, and automatic mode selection
### Cost Optimization
- **Node Consolidation**: Automatically removes underutilized nodes
- **Right-Sizing**: Selects appropriate instance types to minimize costs
## Architecture
The Karpenter IBM Cloud Provider consists of several key components:
```mermaid
graph TB
subgraph "Kubernetes Cluster"
K[Karpenter Controller]
NP[NodePool]
NC[NodeClaim]
INC[IBMNodeClass]
P[Pending Pods]
end
subgraph "IBM Cloud"
VPC[VPC Infrastructure]
IKS[IKS Service]
VSI[Virtual Server Instances]
end
P -->|Triggers| K
K -->|Creates| NC
K -->|Reads| NP
K -->|Reads| INC
NC -->|Provisions| VSI
VSI -->|Joins| K
INC -.->|Config| VPC
INC -.->|Config| IKS
```
## Deployment Options
### VPC Self-Managed Clusters
- Full control over Kubernetes configuration
- Dynamic instance type selection
- Custom bootstrap configurations
- Ideal for specialized workloads
### IBM Kubernetes Service (IKS)
- Seamless integration with managed service
- Worker pool expansion
## Community
- **GitHub**: [Report issues and contribute](https://github.com/kubernetes-sigs/karpenter-provider-ibm-cloud)
- **Slack**: [Join #karpenter-ibm on CNCF Slack](https://cloud-native.slack.com/archives/C094SDPCVLN)
## License
This project is licensed under the Apache License 2.0. See the [LICENSE](https://github.com/kubernetes-sigs/karpenter-provider-ibm-cloud/blob/main/LICENSE) file for details.