开源 · Apache

告别 GPU 浪费,
开始切片。

CastSlice 是零侵入的 Kubernetes Mutating Webhook,自动将完整 GPU 请求转换为共享 GPU 切片——无需修改任何应用。

kubectl apply -f deployment.yaml
# Before: 1 Pod consumes the entire GPU
resources:
  limits:
    nvidia.com/gpu: 1

# Add one annotation to opt-in
annotations:
  castops.io/optimize: "true" # ← magic

# After: CastSlice rewrites on-the-fly
resources:
  limits:
    nvidia.com/gpu-shared: 1

10×
每个 GPU 承载更多 Pod
1
一个注解即可启用
0
零应用改动
3
支持主流云平台

三步实现零侵入 GPU 共享

CastSlice 运行在 Kubernetes 控制平面,透明拦截 Pod 创建请求。

1
部署 CastSlice

单条 kubectl 命令完成安装。cert-manager 自动注入 TLS 证书。

kubectl apply -f install.yaml
2
为 Pod 添加注解

为任意 Pod 或 Deployment 添加一个注解,无需改代码,无需重启。

castops.io/optimize: "true"
3
切片自动完成

CastSlice 拦截 CREATE 请求,在 Pod 调度前将 nvidia.com/gpu 自动改写为共享资源。

你能获得什么

立即开始在 AI 工作负载间共享 GPU 所需的一切。

✏️
零侵入变更

Webhook 拦截 Pod CREATE 请求并实时改写资源规格,应用完全无感知。

🔒
注解式选择性启用

只有带有 castops.io/optimize: "true" 注解的 Pod 才会被变更,其余全部透传。

☁️
云平台无关

适用于任何 CNCF 兼容的 Kubernetes 集群——EKS、GKE、AKS 或本地裸金属环境。

🔐
cert-manager TLS

利用 cert-manager 自动注入和轮换 TLS 证书,无需手动管理证书。

🏥
健康探针

提供 /healthz/readyz 端点,Pod 仅在 webhook 服务器完全就绪后才变为 Ready 状态。

🛡️
容错策略

Webhook 配置为 failurePolicy: Ignore——即使 CastSlice 宕机,Pod 也能正常调度。

一行代码,搞定一切。

为任意 Pod 或 Deployment 模板添加 castops.io/optimize: "true"。 CastSlice 在准入阶段检测到该注解后,自动将 nvidia.com/gpu 资源限制改写为 nvidia.com/gpu-shared——让 NVIDIA MPS 或时间片技术将多个 Pod 打包到同一张物理卡上。

无需修改容器镜像、入口点或业务逻辑,应用完全无感知。

阅读文档 →
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ollama-inference
spec:
  template:
    metadata:
      annotations:
        castops.io/optimize: "true" # ← opt-in
    spec:
      containers:
      - name: ollama
        image: ollama/ollama
        resources:
          limits:
            # CastSlice rewrites this ↓
            nvidia.com/gpu: 1

即将推出

CastSlice 正在持续开发中,以下是计划中的功能。

v0.1.0
基础 Mutating Webhook

静态切片——对已注解的 Pod 将 nvidia.com/gpu 改写为 gpu-shared

✓ 已发布
v0.2.0
智能切片

根据工作负载类型(traininginferencebatchdev)动态分配切片数量,或通过 slice-ratio 显式指定。

✓ 已发布
v0.3.0
FinOps 仪表盘

实时 GPU 利用率指标与"节省费用"计数器。

计划中
v0.4.0
策略引擎

基于命名空间和标签的切片规则,无需修改注解。

计划中

准备好停止浪费 GPU 预算了吗?

单条 kubectl 命令,五分钟内完成 CastSlice 部署。

快速开始 → Star on GitHub