An open-source control plane that provisions and orchestrates GPU compute for training and inference across GPU clouds, Kubernetes, VMs, and on-prem clusters.
skypilot-org/skypilot
An open-source system to run, manage, and scale AI workloads across Kubernetes, Slurm, and 20+ clouds or GPU providers with one interface.
- Stars
- 10,723
- Forks
- 1,296
- Open issues
- 504
- Last commit
- 5 hours ago
What is it?
SkyPilot is a system for running, managing, and scaling AI workloads on the infrastructure you already have or can rent. Users describe a task in a YAML file or Python API covering resource needs, data to sync, setup commands, and run commands. SkyPilot then finds available capacity across reserved GPUs, Kubernetes clusters, Slurm clusters, or many cloud providers, provisions machines, and streams logs, with automatic failover when a provider reports capacity errors.
For infrastructure teams, SkyPilot acts as a control plane across multiple clusters and clouds. It offers gang scheduling, multi-node jobs, job queueing, autostop for idle resources, and workload binpacking on shared clusters. Everything launches inside the user's own cloud accounts, VPCs, and clusters.
SkyPilot also supports interactive development on Kubernetes through SSH into pods, code syncing, and IDE connections, and includes examples for training, serving, and fine-tuning popular models such as vLLM, SGLang, and Ollama deployments.
Key features
- 01Runs one task definition on Kubernetes, Slurm, reserved GPUs, or 20+ cloud providers.
- 02Finds cheapest available capacity and fails over automatically when capacity errors occur.
- 03Provides gang scheduling, multi-node jobs, and job queueing on Kubernetes.
- 04Stops idle resources automatically and binpacks workloads on shared clusters.
- 05Lets users SSH into Kubernetes pods, sync code, and connect IDEs for interactive development.
Use cases
- Training or fine-tuning large models across several GPU clouds to avoid capacity shortages.
- Serving open-source LLMs such as vLLM or SGLang endpoints on your own GPUs.
- Giving ML teams a simple job interface on a shared Kubernetes cluster managed by infra staff.
- Running batch experiments or hyperparameter sweeps with automatic queueing and cleanup.
Quick start
- 1
Install SkyPilot with uv, choosing your clouds
uv pip install "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform,verda]" - 2
Clone the example project into the workdir location
git clone https://github.com/pytorch/examples.git ~/torch_examples - 3
Save the example task YAML as my_task.yaml from the README
- 4
Launch the task on your infrastructure (requires GPU access)
sky launch my_task.yaml
Things to know
- Needs cloud accounts, quotas, or a Kubernetes/Slurm cluster to run real workloads.
- Launching the example requires access to GPU instances.
Topics
FAQ
- What is skypilot?
- An open-source system to run, manage, and scale AI workloads across Kubernetes, Slurm, and 20+ clouds or GPU providers with one interface. SkyPilot is a system for running, managing, and scaling AI workloads on the infrastructure you already have or can rent. Users describe a task in a YAML file or Python API covering resource needs, data to sync, setup commands, and run commands. SkyPilot then finds available capacity across reserved GPUs, Kubernetes clusters, Slurm clusters, or many cloud providers, provisions machines, and streams logs, with automatic failover when a provider reports capacity errors.
- Is skypilot free to use? What license does it have?
- skypilot is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is skypilot still maintained?
- Actively maintained. The last commit to skypilot was on Oct 20, 2026.
- What can I use skypilot for?
- Training or fine-tuning large models across several GPU clouds to avoid capacity shortages. Serving open-source LLMs such as vLLM or SGLang endpoints on your own GPUs. Giving ML teams a simple job interface on a shared Kubernetes cluster managed by infra staff. Running batch experiments or hyperparameter sweeps with automatic queueing and cleanup.
- How do I install skypilot?
- Install SkyPilot with uv, choosing your clouds: uv pip install "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform,verda]" Clone the example project into the workdir location: git clone https://github.com/pytorch/examples.git ~/torch_examples Save the example task YAML as my_task.yaml from the README Launch the task on your infrastructure (requires GPU access): sky launch my_task.yaml
- Where can I get skypilot?
- The source code and installation instructions are on GitHub: https://github.com/skypilot-org/skypilot
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Kubernetes-native platform for deploying and serving predictive and generative AI models at scale, across multiple ML frameworks.
An end-to-end open source platform for building and deploying machine learning models, with Python and C++ APIs.
A fast, memory-efficient library and server for running and serving large language models with an OpenAI-compatible API.
Ray is a unified framework for scaling Python and AI applications from a laptop to a cluster, with a distributed runtime and AI libraries.
A deep learning optimization library for making distributed training and inference of large models easier and more efficient.