Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
![Go Version](https://img.shields.io/badge/go-1.24-00ADD8?logo=go&logoColor=white)
[![Discord](https://img.shields.io/badge/Discord-Join%20us-5865F2?logo=discord&logoColor=white)](https://discord.gg/7WTUuFqyS6)

Run GPU workloads on any NeoCloud or hyperscaler through one Kubernetes API.
Run GPU workloads on any NeoCloud or hyperscaler or your own infrastructure through one Kubernetes API.

</div>

Expand All @@ -22,6 +22,10 @@ per-cloud glue. The API follows a Karpenter-style split:
- **NodeClaim** — one provisioned instance and its lifecycle, held by a finalizer
so a paid instance is never leaked.

<p align="center">
<img src="site/images/arch.png" alt="Nebula architecture: the operator's webhook, virtual kubelet and placement controller drive NodePools and NodeClaims onto hyperscalers, NeoClouds, Kubernetes clusters and on-prem servers" width="90%">
</p>

## How it works

1. **Opt in.** You label a Pod to request an accelerator.
Expand Down
1 change: 1 addition & 0 deletions config/manager/manager.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ spec:
- --health-probe-bind-address=:8081
image: controller:latest
name: manager
imagePullPolicy: IfNotPresent
env:
Comment on lines 66 to 69
# Point the price catalog at the mounted ConfigMap so prices can be
# edited live (kubectl edit configmap nebula-catalog) without a
Expand Down
Binary file added site/images/arch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading