这个项目能做什么
vCluster 是一个用于创建租户集群的开源引擎:完全隔离的 Kubernetes 环境,每个环境都运行自己的 API 服务器、控制器管理器、数据存储、CRD 和 RBAC。它是 CNCF 认证的 Kubernetes 发行版,并且符合 Kubernetes AI 一致性要求。租户在自己的集群内拥有管理员权限,同时在底层宿主集群上仅持有最小权限。
部署选项
- 共享节点:租户集群共享宿主集群的节点;工作负载以 Pod 形式在命名空间中运行,使用伪节点以实现最大密度。
- 专用节点:租户集群使用宿主集群上带标签的节点池,在复用宿主 CNI、CSI 和平台栈的同时提供隔离的计算资源。
- 私有节点(v0.27+):外部节点通过基于令牌的流程加入租户集群,并拥有自己的 CNI、CSI 和网络;节点还可以通过加密 VPN 覆盖网络加入(v0.30+)。
- 独立模式(v0.29+):控制平面作为自包含二进制文件在裸金属或虚拟机上运行,无需宿主 Kubernetes 集群。
- 自动节点(v0.28+):由 Karpenter 驱动的私有节点在云、混合和裸金属环境中的供应与回收,并支持按池配置节点配置文件(v0.36+)。
- vind(v0.32+):在单台主机上的 Docker 容器中运行完整的租户集群,不依赖 Kubernetes,通过 CLI 使用 --driver docker 创建。
关键能力
- 每个租户专用控制平面:API 服务器、控制器管理器和数据存储,提供完整的 Kubernetes API 隔离,而非命名空间级别的规则。
- GPU 感知调度:通过资源声明、声明模板和设备类实现动态资源分配,并支持就地调整 Pod 大小。
- 共享/专用模式下的资源同步:Pod、服务、密钥、配置映射、CRD 和 Gateway API 对象的双向同步。
- 集成:cert-manager、external-secrets、KubeVirt、Istio 和 metrics-server。
- 高可用性:多副本与领导者选举;嵌入式 etcd 或外部数据库,如 PostgreSQL、MySQL 和 RDS。
- 快照与恢复到 S3、OCI、Azure Blob 或本地存储;睡眠模式可暂停不活跃集群(平台功能)。
- 节点 VPN(平台)用于跨站点、网络和云的加密覆盖网络。
快速开始
使用 brew install loft-sh/tap/vcluster 安装 CLI,然后运行 vcluster create my-vcluster --namespace team-x,并在租户集群内正常使用 kubectl。前提条件是有一个运行中的 Kubernetes 集群和已配置的 kubectl。若要在没有 Kubernetes 的情况下本地使用,vcluster create my-vcluster --driver docker 会在 Docker 中运行租户集群。Killercoda 上提供基于浏览器的试用,免费套餐允许通过平台 UI 使用无限租户集群,最高 64 个 CPU 和 32 个 GPU。
生态系统与用例
该项目面向 AI 云、AI 工厂、内部 GPU 平台、分布式推理、主权云、裸金属 Kubernetes、软件供应商和成本整合。它被定位为更广泛栈的开源基础,该栈包括用于运行时隔离的 vNode、用于裸金属 GPU 供应的 vMetal 和用于网络隔离的 Netris。Slurm、Ray、Run:ai、推理和代理沙箱集群类型通过 vCluster Platform 提供,而本仓库是底层引擎。README 引用了包括 Adobe、CoreWeave、NVIDIA、Nebius、Lintasarta、Atlan 和 Deloitte 在内的组织的生产使用,并列出了许多会议演讲和案例研究。
评论
0 评分人数达到10人后显示
登录后参与讨论。