安装时需按所用云厂商选择对应的 extras,否则无法对接该云;示例需要目标云上的 GPU 实例配额;任务在你自己云账号的 VPC 和集群内启动,需先完成云凭证配置。
skypilot
skypilot-orgApache-2.0活跃维护把分散在多家云上的 GPU 资源统一调度成一台「AI 超算」,自动选最便宜的可用算力跑训练、微调和推理任务,省去手动比价与跨云管理。
The AI Compute Platform for frontier teams. SkyPilot turns fragmented AI compute into one AI supercomputer, so frontier AI teams build custom intelligence faster.
uv pip install "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform,verda]"README 未说明具体显存或 GPU 型号要求;示例使用 8x NVIDIA A100,并支持 GPU、TPU、CPU 工作负载,实际资源取决于所选云或集群。
统一管理多云与 K8s 上的 AI 算力,用一个 YAML 就能把任务跑到任意基础设施上
把分散在多家云上的 GPU 资源统一调度成一台「AI 超算」,自动选最便宜的可用算力跑训练、微调和推理任务,省去手动比价与跨云管理。
核心能力
- 用 YAML 或 Python API 声明资源、数据和命令,同一任务可跨云迁移
- 自动寻找最便宜可用的 GPU/TPU/CPU 并做故障转移
- 支持 Kubernetes、Slurm 及 20+ 云厂商的统一控制面
- 提供 gang scheduling、多集群调度与空闲资源自动回收
- 支持 SSH 进 pod、同步代码、连接 IDE 的本地开发体验
容易踩的坑
- v0.14.2Release v0.14.2最新正式版2026-10-28 · 2026-10-28 18:26 UTC
SkyPilot v0.14.2
Get it now with:
uv pip install "skypilot>=0.14.2"
What's Changed
- Release 0.14.2 by @Michaelvll in https://github.com/skypilot-org/skypilot/pull/11220
Full Changelog: https://github.com/skypilot-org/skypilot/compare/v0.14.1...v0.14.2
- v0.14.1Release v0.14.12026-10-19 · 2026-10-19 21:48 UTC
查看更新说明
SkyPilot v0.14.1
Get it now with:
uv pip install "skypilot>=0.14.1"
What's Changed
- Release 0.14.0 by @Michaelvll in https://github.com/skypilot-org/skypilot/pull/10962
- Release 0.14.1 by @Michaelvll in https://github.com/skypilot-org/skypilot/pull/11123
Full Changelog: https://github.com/skypilot-org/skypilot/compare/v0.14.0rc1...v0.14.1
- v0.14.0Release v0.14.02026-10-05 · 2026-10-05 23:56 UTC
查看更新说明
SkyPilot v0.14.0: Dynamic Job Groups, Multi-User Slurm, AWS Neuron, Read-Only Workspaces, and More
SkyPilot v0.14.0 introduces dynamic job groups, letting a running job group launch more managed jobs that are tracked and cancelled with it, and makes Slurm a multi-user backend: jobs are submitted as the authenticated user, with per-user QoS/account settings and stop/start for container clusters. This release also adds AWS Trainium/Inferentia (Neuron) on Kubernetes, read-only visibility for private workspaces, and a conda-free default image.
Get it now with:
uv pip install "skypilot[all]==0.14.0"Or, upgrade your team SkyPilot API server:
NAMESPACE=skypilot RELEASE_NAME=skypilot VERSION=0.14.0 helm repo update skypilot helm upgrade -n $NAMESPACE $RELEASE_NAME skypilot/skypilot \ --set apiService.image=berkeleyskypilot/skypilot:$VERSION \ --version $VERSION --devel --reuse-valuesDeprecations & Breaking Changes:
- Conda is no longer installed by default (#10132).
provision.install_condanow defaults tofalse, and conda has been removed from the default Kubernetes images, which instead ship system Python plus a default user venv (~/sky-user-env). Setprovision.install_conda: trueto opt back in; the opt-in install now uses a current Miniforge with conda-forge as the only channel. - Job Groups enforce in-group networking by default (#10297, #10330). Groups whose tasks cannot be co-located now fail at submission instead of being silently spread across clusters, and networking setup failures fail the job. Set
inter_connection: falseon the group to allow cross-cluster placement. - Tighter API authorization: request listing and tracking endpoints are scoped to the calling user (#10274, #10278),
sky debug-dumpis admin-only (#10277), download paths are authorized against the user's own roots (#10683), principals with an unrecognized role are denied (#10501), and non-admins can no longer grant the admin role via service accounts (#9932, #10482). rbac.restrict_config_to_adminsnow defaults totrue(#10042): users with theuserrole can no longer read the API server config. Set it tofalseto restore the previous behavior.- Kubernetes: use
disk_sizeinstead of theephemeral_storagefield (#9273). - Async request submission no longer prints the API stream link (#10081).
Highlights
[New] Dynamic Job Groups
A task in a job group can now launch further managed jobs with
sky jobs launchorsky.jobs.launch, and they attach to the group automatically as dynamic tasks (#10698, #10701, #10702, #10725, #10734, #10736, #10732). Dynamic tasks are listed under the group insky jobs queueand the dashboard, numbered after the group's own tasks, addressed like any other task (`sky jobs logs - Conda is no longer installed by default (#10132).
- v0.14.0rc1Release v0.14.0rc12026-09-22 · 2026-09-22 23:35 UTC
查看更新说明
SkyPilot v0.14.0rc1
Get it now with:
uv pip install "skypilot>=0.14.0rc1"
What's Changed
- [Kubernetes] Display actual pod resource requests when they diverge from the resource spec by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10214
- [Jobs] Reset transient job-status-check window after recovery by @spiffaz in https://github.com/skypilot-org/skypilot/pull/10156
- [Dashboard] Restyle the YAML editor's search panel by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10208
- [Dashboard] Fix top-bar logo vertical alignment by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10207
- [Jobs] Fail jobs terminally when their pool no longer exists by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10203
- [Kubernetes] Fail provisioning on persistent volume mount failures instead of hanging by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10218
- [Test] okta smoke: don't gate login success on the in-app dashboard redirect by @zpoint in https://github.com/skypilot-org/skypilot/pull/10188
- [Dashboard] Make the settings config editor card plugin-replaceable by @ishankaul1 in https://github.com/skypilot-org/skypilot/pull/10158
- [Dashboard] Use dark circular favicon for better tab visibility by @hopechong in https://github.com/skypilot-org/skypilot/pull/10215
- [Dashboard] Rework infra page: unified table, per-GPU-type summary, responsive by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10067
- [Test] Cover more documented env vars in managed jobs env smoke test by @kevinmingtarja in https://github.com/skypilot-org/skypilot/pull/10224
- [Kubernetes] Don't install conda by default and remove it from K8s images by @DanielZhangQD in https://github.com/skypilot-org/skypilot/pull/10132
- [Core] Handle missing Git during commit metadata collection by @edmsimplicio in https://github.com/skypilot-org/skypilot/pull/10230
- [RunPod] Label account SSH keys with the SkyPilot user by @ciprianf in https://github.com/skypilot-org/skypilot/pull/9975
- [Core] debug-dump: bound controller SSH work + add best-effort overall deadline by @claude[bot] in https://github.com/skypilot-org/skypilot/pull/10161
- [Nebius] Keep personal pricing fetch failures out of CLI output by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10222
- [Test] Add golden snapshot tests for kubernetes-ray.yml.j2 rendering by @kevinmingtarja in https://github.com/skypilot-org/skypilot/pull/10226
- [Test] Poll for STOPPED after sky stop in test_resize by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10217
- [Test] Pin zone in skyserve auto_restart.yaml so replica termination finds the instance by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10216
- [Kubernetes] Surface which node a terminated cluster lost by @SeungjinYang in https://github.com/skypilot-org/skypilot/pull/10233
- [Docs] Trim redundant optimization section from Overview; link SkyPilot Platform by @concretevitamin in https://github.com/skypilot-org/skypilot/pull/10235
- [Docs] Update logo to official brand assets by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10238
- [Test] Add smoke test for k8s accelerator node-affinity scheduling constraint by @kevinmingtarja in https://github.com/skypilot-org/skypilot/pull/10225
- [Test] Add managed jobs smoke test for pod_config targeting the ray-node container by @kevinmingtarja in https://github.com/skypilot-org/skypilot/pull/10223
- [Dashboard] Use new brand favicon by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10237
- [Metrics] Stop cluster-label stamping from stalling the metrics server by @rohansonecha in https://github.com/skypilot-org/skypilot/pull/10240
- [Test] Fix apiserver-start-stop smoke test setup on bare cloud VMs by @zpoint in https://github.com/skypilot-org/skypilot/pull/10242
- [Test] Drop conda-version guard from test_custom_default_c
- v0.13.2rc1Release v0.13.2rc1pre-release2026-09-18 · 2026-09-18 18:42 UTC
查看更新说明
SkyPilot v0.13.2rc1
Get it now with:
uv pip install "skypilot>=0.13.2rc1"
What's Changed
- [Kubernetes] Display actual pod resource requests when they diverge from the resource spec by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10214
- [Jobs] Reset transient job-status-check window after recovery by @spiffaz in https://github.com/skypilot-org/skypilot/pull/10156
- [Dashboard] Restyle the YAML editor's search panel by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10208
- [Dashboard] Fix top-bar logo vertical alignment by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10207
- [Jobs] Fail jobs terminally when their pool no longer exists by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10203
- [Kubernetes] Fail provisioning on persistent volume mount failures instead of hanging by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10218
- [Test] okta smoke: don't gate login success on the in-app dashboard redirect by @zpoint in https://github.com/skypilot-org/skypilot/pull/10188
- [Dashboard] Make the settings config editor card plugin-replaceable by @ishankaul1 in https://github.com/skypilot-org/skypilot/pull/10158
- [Dashboard] Use dark circular favicon for better tab visibility by @hopechong in https://github.com/skypilot-org/skypilot/pull/10215
- [Dashboard] Rework infra page: unified table, per-GPU-type summary, responsive by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10067
- [Test] Cover more documented env vars in managed jobs env smoke test by @kevinmingtarja in https://github.com/skypilot-org/skypilot/pull/10224
- [Kubernetes] Don't install conda by default and remove it from K8s images by @DanielZhangQD in https://github.com/skypilot-org/skypilot/pull/10132
- [Core] Handle missing Git during commit metadata collection by @edmsimplicio in https://github.com/skypilot-org/skypilot/pull/10230
- [RunPod] Label account SSH keys with the SkyPilot user by @ciprianf in https://github.com/skypilot-org/skypilot/pull/9975
- [Core] debug-dump: bound controller SSH work + add best-effort overall deadline by @claude[bot] in https://github.com/skypilot-org/skypilot/pull/10161
- [Nebius] Keep personal pricing fetch failures out of CLI output by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10222
- [Test] Add golden snapshot tests for kubernetes-ray.yml.j2 rendering by @kevinmingtarja in https://github.com/skypilot-org/skypilot/pull/10226
- [Test] Poll for STOPPED after sky stop in test_resize by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10217
- [Test] Pin zone in skyserve auto_restart.yaml so replica termination finds the instance by @lloyd-brown in https://github.com/skypilot-org/skypilot/pull/10216
- [Kubernetes] Surface which node a terminated cluster lost by @SeungjinYang in https://github.com/skypilot-org/skypilot/pull/10233
- [Docs] Trim redundant optimization section from Overview; link SkyPilot Platform by @concretevitamin in https://github.com/skypilot-org/skypilot/pull/10235
- [Docs] Update logo to official brand assets by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10238
- [Test] Add smoke test for k8s accelerator node-affinity scheduling constraint by @kevinmingtarja in https://github.com/skypilot-org/skypilot/pull/10225
- [Test] Add managed jobs smoke test for pod_config targeting the ray-node container by @kevinmingtarja in https://github.com/skypilot-org/skypilot/pull/10223
- [Dashboard] Use new brand favicon by @stephenkevn in https://github.com/skypilot-org/skypilot/pull/10237
- [Metrics] Stop cluster-label stamping from stalling the metrics server by @rohansonecha in https://github.com/skypilot-org/skypilot/pull/10240
- [Test] Fix apiserver-start-stop smoke test setup on bare cloud VMs by @zpoint in https://github.com/skypilot-org/skypilot/pull/10242
- [Test] Drop conda-version guard from test_custom_default_c
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
SkyPilot is a system to run, manage, and scale AI workloads on any AI infrastructure.
SkyPilot gives AI teams a simple interface to run jobs on any infra. Infra teams get a unified control plane to manage any AI compute — with advanced scheduling, scaling, and orchestration.
:fire: News :fire:
- [Oct 2026] SkyPilot's scheduler bumps NVL72 training throughput by 14%: blog
- [Oct 2026] Post-training a 4B model with RL to fly the Tesla Roadster 21% better than GPT-6 Astra: blog
- [Sep 2026] RL is Everything, Everywhere, All at Once: blog
- [Sep 2026] SkyPilot Agent Sessions: Mission Control for Coding Agents, on Your Infrastructure: blog
- [Jul 2026] Serving Kimi K3 on your own GPUs with SkyPilot: blog
- [Jul 2026] Run AI workloads on any cloud, store on Hugging Face, no egress fees to worry about: Hugging Face blog
- [Jun 2026] SkyPilot Endpoints: production-ready inference on every cluster you own: blog
- [Jun 2026] Announcing SkyPilot Sandboxes: run untrusted, LLM-generated code on the Kubernetes clusters you already own. Learn more, join early access
- [May 2026] How Multiverse doubled their GPU utilization with SkyPilot: case study
- [Apr 2026] Introducing GPU Compass: One dashboard to browse, compare pricing, and launch across every GPU cloud. Try it at gpus.skypilot.co.
- [Apr 2026] Research-Driven Agents: Agents read arxiv papers before coding, landed 5 llama.cpp kernel fusions and +15% faster flash attention in ~3 hours for ~$29: blog, HackerNews
- [Mar 2026] Scaling Karpathy's Autoresearch: Autoresearch runs 1 experiment at a time. We gave it 16 GPUs and let it run in parallel: blog, HackerNews
- [Mar 2026] How H Company Unlocked Online RL and Unified their AI Platform: case study
Overview
SkyPilot is easy to use for AI users:
- Quickly spin up compute on your own infra
- Environment and job as code — simple and portable
- Easy job management: queue, run, and auto-recover many jobs
SkyPilot makes Kubernetes easy for AI & Infra teams:
- Slurm-like ease of use, cloud-native robustness
- Local dev experience on K8s: SSH into pods, sync code, or connect IDE
- Turbocharge your clusters: gang scheduling, multi-cluster, and scaling
SkyPilot unifies multiple clusters, clouds, and hardware:
- One interface to use reserved GPUs, Kubernetes clusters, Slurm clusters, or 20+ clouds
- Flexible provisioning of GPUs, TPUs, CPUs, with smart failover
- Team deployment and resource sharing
SkyPilot maximizes GPU fleet utilization:
- Autostop: automatic cleanup of idle resources
- Binpacking: workload binpacking on shared clusters
- Intelligent scheduler: automatically schedule on the most available infra
SkyPilot supports your existing GPU, TPU, and CPU workloads, with no code changes.
Install with uv (also supported: pip, nightly, from source)
# Choose your clouds:
uv pip install "skypilot[kubernetes,aws,gcp,azure,oci,nebius,lambda,runpod,fluidstack,paperspace,cudo,ibm,scp,seeweb,shadeform,verda]"
To use SkyPilot directly with your agent (Claude Code, Codex, etc.), install the SkyPilot Skill. Tell your agent:
Fetch and follow https://github.com/skypilot-org/skypilot/blob/HEAD/agent/INSTALL.md to install the skypilot skill
Current supported infra: Kubernetes, Slurm, AWS, GCP, Azure, OCI, CoreWeave, Nebius, Lambda Cloud, RunPod, Fluidstack, Cudo, Digital Ocean, Paperspace, Cloudflare, Samsung, IBM, Vast.ai, VMware vSphere, Seeweb, Prime Intellect, Shadeform, Verda Cloud, VastData, Crusoe.
Getting started
Install SkyPilot in 1 minute. Then, launch your first cluster in 2 minutes in Quickstart.
SkyPilot is BYOC: Everything is launched within your cloud accounts, VPCs, and clusters.
Benefits of SkyPilot on Kubernetes
SkyPilot makes Kubernetes AI-native.
It turbocharges your existing Kubernetes clusters by accelerating AI/ML velocity:
- AI-friendly interface to launch jobs and deployments
- Much simplified interactive dev for K8s (SSH / sync code / connect IDE to pods)
...and optimizing GPU scheduling, utilization, and scaling:
- Advanced scheduling: Gang scheduling, multi-node jobs, and queueing
- Multi-cluster support: Bring all your clusters under one control plane
- Multi-cloud support: One consistent interface to manage many providers
See SkyPilot vs Vanilla Kubernetes and this blog post for more details.
SkyPilot in 1 minute
A SkyPilot task specifies: resource requirements, data to be synced, setup commands, and the task commands.
Once written in this unified interface (YAML or Python API), the task can be launched on any available infra (Kubernetes, Slurm, cloud, etc.). This avoids vendor lock-in, and allows easily moving jobs to a different provider.
Paste the following into a file my_task.yaml:
resources:
accelerators: A100:8 # 8x NVIDIA A100 GPU
num_nodes: 1 # Number of VMs to launch
# Working directory (optional) containing the project codebase.
# Its contents are synced to ~/sky_workdir/ on the cluster.
workdir: ~/torch_examples
# Commands to be run before executing the job.
# Typical use: pip install -r requirements.txt, git clone, etc.
setup: |
cd mnist
pip install -r requirements.txt
# Commands to run as a job.
# Typical use: launch the main program.
run: |
cd mnist
python main.py --epochs 1
Prepare the workdir by cloning:
git clone https://github.com/pytorch/examples.git ~/torch_examples
Launch with sky launch (note: access to GPU instances is needed for this example):
sky launch my_task.yaml
SkyPilot then performs the heavy-lifting for you, including:
- Find the cheapest & available infra across your clusters or clouds
- Provision the GPUs (pods or VMs), with auto-failover if the infra returned capacity errors
- Sync your local
workdirto the provisioned cluster - Auto-install dependencies by running the task's
setupcommands - Run the task's
runcommands, and stream logs
See Quickstart to get started with SkyPilot.
Runnable examples
See SkyPilot examples that cover: development, training, serving, LLM models, AI apps, and common frameworks.
Latest featured examples:
| Task | Examples |
|---|---|
| Training | Verl, Finetune Llama 4, TorchTitan, PyTorch, DeepSpeed, NeMo, Ray, Unsloth, Jax/TPU, OpenRLHF |
| Serving | vLLM, SGLang, Ollama |
| Models | DeepSeek-R1, Llama 4, Llama 3, CodeLlama, Qwen, Kimi-K2, Kimi-K2-Thinking, Mixtral |
| AI apps | RAG, vector databases (ChromaDB, CLIP) |
| Common frameworks | Airflow, Jupyter, marimo |
Source files can be found in llm/ and examples/.
Learn more
To learn more, see SkyPilot Overview, SkyPilot docs, and SkyPilot blog.
SkyPilot adopters: Testimonials and Case Studies
Follow updates:
Questions and feedback
We are excited to hear your feedback:
- For issues and feature requests, please open a GitHub issue.
- For questions, please use GitHub Discussions.
For general discussions, join us on the SkyPilot Slack.
Contributing
We welcome all contributions to the project! See CONTRIBUTING for how to get involved.