- 新增 .claude/settings.local.json 配置文件,添加工作流命令权限 - 创建详细的产品需求文档(PRD),定义项目愿景、功能需求和技术规范 - 包含优雅下线和抢占式实例自动轮转等核心功能设计
8.3 KiB
vk-eci - Product Requirements Document
Author: d8der Date: 2025-11-06 Version: 1.0
Executive Summary
阿里云ECI Virtual Kubelet提供商致力于为Kubernetes用户提供无缝、可靠且成本优化的无服务器容器体验。通过将Kubernetes Pod调度到阿里云弹性容器实例(ECI),用户可以在享受无服务器计算便利性的同时,保持与现有Kubernetes工作流的完全兼容。
项目的核心愿景是让容器编排变得简单、高效且经济实惠,让用户专注于应用开发而非基础设施管理。
What Makes This Special
零运维成本优化 - 用户无需管理底层基础设施,即可享受无服务器容器的便利性和成本优势,特别是通过抢占式实例最高可节省90%的计算成本。
无缝Kubernetes集成 - 与现有Kubernetes工作流完全兼容,用户可以通过标准的Kubernetes YAML文件部署应用,无需学习新的API或工具。
企业级可靠性 - 支持优雅下线和抢占式实例回收触发的自动轮转机制,确保业务连续性,让用户在生产环境中安心使用低成本实例。
Project Classification
Technical Type: CLI工具 / 基础设施适配器 Domain: 云原生 / Kubernetes / 容器编排 Complexity: 中等复杂度 - 需要深度集成Kubernetes和阿里云ECI API
这是一个开源的基础设施项目,作为Kubernetes和阿里云弹性容器实例(ECI)之间的桥梁。项目采用Virtual Kubelet Provider架构模式,需要处理复杂的生命周期管理、网络配置和资源调度逻辑。
[domain_context_summary]
Success Criteria
核心成功指标
成本优化
- 通过抢占式实例和按需计费,降低计算成本30-70%
- 资源利用率从传统的30-50%提升至80%以上
运维效率
- 减少节点管理时间50%以上
- 实现秒级扩展,满足突发流量需求
可靠性保证
- 支持优雅下线,在3分钟预警窗口内确保业务连续性
- 实现抢占式实例回收触发的Pod自动轮转,为无状态应用提供零停机体验
- Pod启动时间控制在30秒以内,确保在预警窗口内完成轮转
- 提供降级策略应对资源竞争和网络切换延迟
用户体验
- 与现有Kubernetes工作流无缝集成
- 提供清晰的错误信息和日志
- 支持企业级网络和安全配置
[business_metrics]
Product Scope
MVP - Minimum Viable Product
基础功能
- 支持标准Kubernetes Pod调度到ECI
- 基本的容器生命周期管理(创建、删除、查询)
- CPU和内存资源配置
- 镜像管理和私有镜像仓库支持
- 基础存储卷支持(EmptyDir, NFS, ConfigMap, Secret)
网络配置
- 容器端口映射
- 基础网络连通性
Growth Features (Post-MVP)
优雅下线支持
- 支持
k8s.aliyun.com/eci-spot-release-strategy: api-evictAnnotation - 处理
SpotToBeReleased事件 - 调用 Eviction API 进行优雅驱逐
- 遵从 PDB 和 terminationGracePeriodSeconds 配置
抢占式实例回收触发的自动轮转
- 实现基于
SpotToBeReleased事件的 Pod 自动轮转 - 支持抢占式实例回收时的零停机业务连续性
- 集成健康检查和就绪检查确保新Pod就绪
- 提供配置选项控制轮转策略
企业级功能
- 安全组和网络策略支持
- 监控和告警集成
- 多集群管理
- 备份和恢复机制
Vision (Future)
高级功能
- 抢占式实例智能调度算法
- 成本优化建议和自动化
- 多云部署支持
- 社区插件和扩展框架
生态系统集成
- 与阿里云其他服务深度集成
- 支持更多云厂商
- 成为行业标准 Virtual Kubelet Provider
[domain_considerations]
[innovation_patterns]
[project_type_requirements]
[ux_principles]
Functional Requirements
核心调度功能
Pod 生命周期管理
- FR-001: 支持创建、查询、删除 ECI Pod
- FR-002: 支持 Pod 状态监控和事件上报
- FR-003: 支持 Pod 资源限制配置(CPU、内存)
- FR-004: 支持镜像拉取和私有仓库认证
网络和存储
- FR-005: 支持容器端口映射和网络连通性
- FR-006: 支持基础存储卷类型(EmptyDir, NFS, ConfigMap, Secret)
- FR-007: 支持 EIP 注解配置
优雅下线功能
抢占式实例事件处理
- FR-008: 支持
SpotToBeReleased事件监听和处理 - FR-009: 支持
ContainerInstanceExpiredPod Condition 检测 - FR-010: 支持
k8s.aliyun.com/eci-spot-release-strategy: api-evictAnnotation
Eviction API 集成
- FR-011: 实现 Eviction API 调用机制
- FR-012: 遵从 PodDisruptionBudget (PDB) 配置
- FR-013: 支持 terminationGracePeriodSeconds 配置
- FR-014: 提供优雅下线超时处理机制
抢占式实例回收触发的自动轮转
事件驱动的轮转机制
- FR-015: 支持基于
SpotToBeReleased事件的 Pod 自动轮转 - FR-016: 实现抢占式实例回收时的零停机业务连续性
- FR-017: 支持新Pod创建和就绪检查的协调机制
轮转策略配置
- FR-018: 提供配置选项控制轮转策略
- FR-019: 支持分批轮转和并发控制
- FR-020: 提供轮转状态监控和报告
企业级功能
安全和网络
- FR-021: 支持安全组配置
- FR-022: 支持 VPC 网络策略
- FR-023: 支持多可用区部署
监控和运维
- FR-024: 集成 OpenCensus 监控
- FR-025: 支持详细的日志记录
- FR-026: 提供健康检查和就绪检查
Non-Functional Requirements
性能需求
响应时间
- Pod 创建时间:≤ 30 秒
- Pod 删除时间:≤ 10 秒
- API 响应时间:≤ 2 秒
资源效率
- 内存使用:≤ 512 MB
- CPU 使用:≤ 0.5 核心
- 网络带宽:支持千兆网络
可靠性需求
可用性
- 系统可用性:≥ 99.9%
- Pod 创建成功率:≥ 99%
- 优雅下线成功率:≥ 95%
容错性
- 支持 API 调用重试机制
- 提供优雅降级策略
- 支持故障自动恢复
安全性需求
认证和授权
- 支持阿里云 Access Key 认证
- 支持 Kubernetes Service Account
- 提供细粒度的权限控制
数据保护
- 加密存储敏感配置信息
- 支持网络传输加密
- 提供审计日志记录
可扩展性需求
水平扩展
- 支持多实例部署
- 支持负载均衡
- 支持自动扩缩容
功能扩展
- 模块化架构设计
- 支持插件机制
- 提供扩展 API
集成需求
Kubernetes 集成
- 完全兼容 Kubernetes API
- 支持标准 Kubernetes 工具链
- 提供 Helm Chart 部署
云服务集成
- 深度集成阿里云 ECI API
- 支持阿里云其他服务(VPC、SLB等)
- 提供多云部署支持
Technical Feasibility Analysis
抢占式实例业务连续性可行性
可实现场景
- 无状态Web服务:通过提前创建新Pod实现零停机轮转
- API服务:利用负载均衡器健康检查实现无缝切换
- 数据处理流水线:配合消息队列实现任务重试
技术限制
- 时间窗口:仅有3分钟预警时间,需要高效的Pod创建和就绪机制
- 资源竞争:新Pod创建可能遇到资源不足,需要降级策略
- 网络切换:IP地址变更可能导致短暂连接中断
推荐使用模式
- 配合 PodDisruptionBudget (PDB) 确保最小可用实例数
- 使用 Readiness Probe 确保新Pod完全就绪
- 配置合理的 terminationGracePeriodSeconds
- 建议用于容错性强的无状态应用
Implementation Planning
Epic Breakdown Required
Requirements must be decomposed into epics and bite-sized stories (200k context limit).
Next Step: Run workflow epics-stories to create the implementation breakdown.
References
- Product Brief: docs/product-brief-vk-eci-2025-11-06.md
- Domain Brief: [domain_brief_path]
- Research: [research_documents]
Next Steps
- Epic & Story Breakdown - Run:
workflow epics-stories - UX Design (if UI) - Run:
workflow ux-design - Architecture - Run:
workflow create-architecture
This PRD captures the essence of vk-eci - 通过优雅下线和抢占式实例回收触发的自动轮转机制,为Kubernetes用户提供可靠、低成本的无服务器容器体验
Created through collaborative discovery between d8der and AI facilitator.