项目管理
✨ 特性:
- 多租户隔离: 基于项目的资源隔离与权限管理
- 多集群资源池: 一个项目可绑定多个集群的资源配额
- 灵活配额管理: 支持 CPU、内存、GPU、存储、Pod 等多维度配额
- 超分配比例: 支持资源超分配,提高资源利用率
- Kubernetes 资源限制: 细粒度控制各类 K8s 资源对象数量
核心概念
在 Kube Nova 中,项目(Project) 是多租户隔离的核心单位。理解项目与集群资源的关系是使用平台的基础。
项目与资源池的关系
项目 是一个逻辑隔离单元,代表一个租户、团队或业务线。每个项目可以关联多个集群的资源配额,这种关联关系在 Kube Nova 中称为 资源池(Resource Pool)。
资源池定义了项目在某个特定集群上可以使用的资源上限。只有当项目拥有某个集群的资源池后,项目管理者才能在该集群上创建工作空间(Namespace)。
这种设计的核心优势在于:集群管理员可以将集群资源按需分配给不同项目,实现资源的精细化管理和成本分摊;同时,项目管理者只能在被授权的集群范围内操作,确保了多租户环境下的安全隔离。
资源层级关系
平台 (Kube Nova)
└── 集群 (Cluster)
└── 资源池 (Resource Pool) ──关联──► 项目 (Project)
└── 工作空间 (Workspace / Namespace)
└── 工作负载 (Workload)项目管理
项目管理模块用于创建、编辑、删除和查看项目信息。
操作路径:项目中心 → 项目管理
项目列表
项目列表展示所有已创建的项目,包括以下信息:
项目名称 显示项目的显示名称,便于识别和管理。
项目标识 系统自动生成的唯一标识符(UUID 格式),用于 API 调用和内部关联。
描述 项目的用途说明和备注信息。
管理员 显示项目管理员数量,点击可查看管理员列表。
资源池 显示项目关联的集群资源池数量,数字链接可跳转至资源池详情。
创建时间 项目的创建时间戳。
操作 包括成员管理、详情查看、编辑和删除功能。
新建项目
点击「+ 新建项目」按钮创建新项目。
项目名称(必填):输入项目的显示名称,建议使用有意义的名称便于识别,例如 云原生项目、大模型平台、微服务项目 等。
项目描述(可选):描述项目的用途、负责团队、业务范围等信息,最多 500 字符。
项目管理员(可选):指定项目的管理员用户,管理员拥有项目内的最高权限,包括资源池分配、工作空间创建、成员管理等。
默认项目
系统内置一个「默认项目」,该项目具有特殊属性:未署名项目会默认到此项目下。默认项目不可删除,但可以修改其配置。建议不要将生产业务部署在默认项目中,应为每个业务线创建独立项目。
同步全部数据
点击「同步全部数据」按钮可将所有项目及其资源池的最新状态同步到平台,确保数据一致性。当发现资源池数据与实际集群状态不符时,可使用此功能进行同步。
资源池管理
资源池是项目与集群之间的桥梁,定义了项目在特定集群上的资源配额。
操作路径:项目中心 → 资源池
分配资源池
点击「+ 分配资源池」按钮为项目分配新的集群资源。
步骤一:选择集群
在集群选择区域,输入集群名称进行搜索或点击「浏览全部」查看所有可用集群。只有已添加到平台且状态正常的集群才会出现在列表中。
选择目标集群后,系统会显示该集群的基本信息(名称、UUID)。一个集群可以被分配给多个项目,但每个项目在同一集群上只能有一个资源池。
步骤二:费用配置
费用配置决定了该资源池的计费方案,用于成本核算和费用分摊。
计费方案 从下拉列表选择预设的计费方案:
- 标准计费(系统内置):使用平台默认价格体系
- 不计费(系统内置):该资源池不产生费用
- 自定义计费:如果已在费用管理模块创建自定义计费方案,可在此选择
计费开始时间 设置该资源池开始计费的时间点。留空则从资源池创建时刻开始计费。
价格预览 展示所选计费方案的具体价格:
- CPU: ¥0.0500/核/时
- 内存: ¥0.0150/GiB/时
- 存储: ¥0.0010/GiB/时
- GPU: ¥15.0000/卡/时
- Pod: ¥0.0020/个/时
- 管理费: ¥3.1000/时
步骤三:资源配额配置
资源配额配置是资源池的核心设置,决定了项目在该集群上可使用的资源上限。
页面顶部的「集群资源概览」区域实时显示目标集群的资源总量和已分配情况,帮助管理员了解可分配空间:
- CPU 资源:
- 内存资源:
- 存储资源:
- GPU 资源:
CPU 配额
限制容量 设置项目可使用的 CPU 核数上限。单位可选择「核」或「毫核」。
超分比例 资源超分配系数,范围 1.0x - 10.0x。例如设置为 4x 时,如果限制容量为 10 核,则项目实际可申请的 CPU requests 总量为 40 核。
实际容量 系统自动计算:实际容量 = 限制容量 × 超分比例。这是项目在该集群上可申请的 CPU requests 总和上限。
超分配机制的设计理念:容器的 CPU requests 通常是预留值,实际使用量往往低于申请量。通过合理的超分比例,可以提高集群资源利用率,但需要注意避免超分过高导致资源竞争。
内存配额
限制容量 设置项目可使用的内存上限。单位可选择 Gi(GiB)、Mi(MiB)等。
超分比例 内存资源的超分配系数,建议比 CPU 更保守(如 1.5x - 3x),因为内存超分可能导致 OOM(Out of Memory)问题。
实际容量 系统自动计算的内存 requests 总和上限。
存储配额
存储容量限制 设置项目可使用的临时存储(ephemeral storage)上限。单位可选择 Gi、Mi 等。
存储配额说明
此处配置的是 Kubernetes 临时存储(ephemeral-storage)配额,主要用于控制容器的 emptyDir、日志、容器层写入等临时数据。持久化存储(PVC)的配额通过 PVC 数量限制来控制。
GPU 配额
GPU 数量 设置项目可使用的 GPU 卡数上限。如果目标集群没有 GPU 资源,此项将显示为禁用状态。
超分比例 GPU 资源的超分配系数。由于 GPU 资源昂贵且通常用于计算密集型任务,建议谨慎设置超分比例。
Pod 配额
Pod 数量限制 设置项目可创建的 Pod 总数上限。这是一个重要的安全配额,可防止单个项目创建过多 Pod 影响集群稳定性。
高级配置:Kubernetes 资源限制
展开「高级配置」区域可设置各类 Kubernetes 资源对象的数量限制:
配置类资源
- ConfigMap:配置映射数量限制,默认 100
- Secret:密钥数量限制,默认 100
存储类资源
- PVC:持久化存储卷声明数量限制,默认 100
网络类资源
- Service:服务数量限制,默认 100
- Ingress:入口资源数量限制,默认 50
- LoadBalancer:负载均衡器数量限制,默认 10(云环境中 LB 通常有额外成本)
- NodePort:NodePort 服务数量限制,默认 100
工作负载类资源
- Deployment:部署数量限制,默认 100
- StatefulSet:有状态集数量限制,默认 50
- DaemonSet:守护进程集数量限制,默认 10
- Job:任务数量限制,默认 100
- CronJob:定时任务数量限制,默认 50
存储类配置
- 临时存储:设置临时存储的总量限制(GiB)
这些限制通过 Kubernetes 的 ResourceQuota 机制实现,当项目内的资源使用达到限制时,新的资源创建请求将被拒绝。
步骤四:确认分配
确认所有配置无误后,点击「分配资源」按钮完成资源池创建。创建成功后,项目管理者即可在该集群上创建工作空间。
资源池操作
编辑资源池
在资源池卡片上点击更多菜单(⋮),选择「编辑」可修改资源池的配额设置。编辑时需注意:
配额增加 可随时进行,不影响已有工作负载。
配额减少 如果新配额小于当前已使用量,修改将被拒绝。需要先清理资源使用后再降低配额。
计费方案变更 变更计费方案将影响后续的费用计算,历史费用不受影响。
删除资源池
选择「删除」可移除项目与集群的关联关系。删除前请注意:
前置条件 只有当资源池下没有工作空间(Namespace)时才能删除。如果存在工作空间,需要先删除所有工作空间。
数据影响 删除资源池后,该项目将无法再在对应集群上创建资源。已产生的历史费用记录不会被删除。
恢复方式 如需恢复,可重新为项目分配该集群的资源池。
工作空间管理
工作空间是 Kubernetes Namespace 在 Kube Nova 中的概念映射,是项目内资源隔离的基本单位。
创建工作空间的前提条件
要在某个集群上创建工作空间,必须满足以下条件:
- 项目已分配该集群的资源池:项目必须拥有目标集群的资源配额。
- 资源配额充足:资源池中需有足够的剩余配额。
- 用户权限:操作用户需具有项目管理员或相应的创建权限。
工作空间与资源池的关系
一个资源池可以包含多个工作空间,所有工作空间共享资源池的配额。这种设计允许项目管理者灵活地组织和隔离不同的应用或环境。
例如,一个「微服务项目」在某集群的资源池配额为 40 CPU、30 GiB 内存,项目管理者可以创建:
microservice-prod:生产环境工作空间microservice-staging:预发布环境工作空间microservice-dev:开发环境工作空间
三个工作空间共享该资源池的 40 CPU、30 GiB 内存配额。
最佳实践
项目规划建议
按业务线划分项目 建议每个独立的业务线或产品创建独立项目,便于资源管理、成本核算和权限控制。
避免项目粒度过细 项目数量过多会增加管理复杂度,建议根据组织架构和业务边界合理划分。
明确项目管理员职责 为每个项目指定明确的管理员,负责资源池申请、工作空间管理和成员管理。
资源配额设置建议
根据实际需求设置配额 不要一次性分配过多资源,可根据业务发展逐步增加配额。
合理设置超分比例
- CPU 超分比例建议 2x - 4x,适用于 Web 服务等 CPU 使用波动较大的场景
- 内存超分比例建议 1x - 2x,内存超分风险较高,需谨慎
- GPU 超分比例建议 1x,GPU 任务通常需要独占使用
预留缓冲空间 配额设置时预留 10% - 20% 的缓冲空间,应对突发流量或紧急扩容需求。
定期审查配额使用 定期检查资源池的配额使用率,对于长期低使用率的资源池考虑回收或重新分配。