✨ feat(docs): 添加完整的项目文档集
- 新增开发指南文档,包含环境设置、构建流程和最佳实践 - 添加项目概览文档,提供项目全面介绍和架构说明 - 创建技术栈分析文档,详细说明使用的技术和依赖 - 添加源树分析文档,解释项目目录结构和关键文件 - 创建文档索引页面,统一管理所有项目文档 - 生成项目扫描报告,记录文档生成过程 - 更新工作流状态配置,指定文档化前提条件 - 添加.gitignore规则,忽略NFS相关文件
This commit is contained in:
153
docs/project-overview.md
Normal file
153
docs/project-overview.md
Normal file
@@ -0,0 +1,153 @@
|
||||
# 项目概览
|
||||
|
||||
## 项目基本信息
|
||||
|
||||
**项目名称**: Alibaba Cloud ECI Provider for Virtual Kubelet
|
||||
**项目类型**: CLI工具 (Go语言)
|
||||
**架构类型**: 单体架构
|
||||
**存储库类型**: 单体代码库
|
||||
**主要功能**: 将Kubernetes Pod调度到阿里云ECI(弹性容器实例)的适配器
|
||||
|
||||
## 项目描述
|
||||
|
||||
Alibaba Cloud ECI Provider是一个Virtual Kubelet Provider实现,它允许Kubernetes集群将Pod调度到阿里云的弹性容器实例(ECI)上,而无需管理底层服务器或集群。
|
||||
|
||||
### 核心价值
|
||||
- **无服务器容器** - 无需管理Kubernetes节点
|
||||
- **成本优化** - 按实际使用付费,支持抢占式实例
|
||||
- **弹性扩展** - 自动扩展容器实例
|
||||
- **无缝集成** - 与现有Kubernetes工作流完全兼容
|
||||
|
||||
## 技术栈摘要
|
||||
|
||||
### 核心技术
|
||||
- **编程语言**: Go 1.13+
|
||||
- **框架**: Virtual Kubelet Provider接口
|
||||
- **云服务**: 阿里云ECI API
|
||||
- **命令行**: Cobra框架
|
||||
|
||||
### 主要依赖
|
||||
- `github.com/virtual-kubelet/virtual-kubelet` - Virtual Kubelet核心
|
||||
- `github.com/aliyun/alibaba-cloud-sdk-go` - 阿里云官方SDK
|
||||
- `k8s.io/client-go` - Kubernetes客户端
|
||||
- `github.com/spf13/cobra` - CLI框架
|
||||
|
||||
## 架构概览
|
||||
|
||||
### 系统架构
|
||||
```
|
||||
Kubernetes Cluster
|
||||
↓
|
||||
Virtual Kubelet
|
||||
↓
|
||||
ECI Provider (本项目)
|
||||
↓
|
||||
Alibaba Cloud ECI API
|
||||
↓
|
||||
ECI Container Instances
|
||||
```
|
||||
|
||||
### 组件关系
|
||||
- **Provider接口** - 实现Virtual Kubelet Provider规范
|
||||
- **ECI客户端** - 封装阿里云ECI API调用
|
||||
- **配置管理** - 支持TOML配置文件和环境变量
|
||||
- **命令行界面** - 基于Cobra的用户交互
|
||||
|
||||
## 功能特性
|
||||
|
||||
### 核心功能
|
||||
- ✅ Pod创建和调度到ECI
|
||||
- ✅ Pod状态监控和同步
|
||||
- ✅ 容器日志收集
|
||||
- ✅ 资源限制和配额管理
|
||||
- ✅ 抢占式实例支持
|
||||
- ✅ 多区域部署支持
|
||||
|
||||
### 配置特性
|
||||
- ✅ TOML配置文件支持
|
||||
- ✅ 环境变量覆盖
|
||||
- ✅ 合理的默认配置
|
||||
- ✅ 动态配置重载
|
||||
|
||||
### 运维特性
|
||||
- ✅ 结构化日志输出
|
||||
- ✅ 分布式追踪支持
|
||||
- ✅ 健康检查端点
|
||||
- ✅ 指标收集
|
||||
|
||||
## 部署架构
|
||||
|
||||
### 部署模式
|
||||
```
|
||||
Kubernetes Cluster
|
||||
├── Virtual Kubelet (DaemonSet)
|
||||
│ └── ECI Provider
|
||||
└── Application Pods
|
||||
├── Pod on Cluster Nodes
|
||||
└── Pod on ECI Instances (via Virtual Kubelet)
|
||||
```
|
||||
|
||||
### 网络架构
|
||||
- **VPC集成** - 通过VSwitch与VPC网络集成
|
||||
- **安全组** - 网络安全策略管理
|
||||
- **服务发现** - 与Kubernetes服务发现集成
|
||||
|
||||
## 使用场景
|
||||
|
||||
### 适合场景
|
||||
- **突发流量处理** - 快速扩展应对流量高峰
|
||||
- **批处理作业** - 短时间运行的Job任务
|
||||
- **成本敏感应用** - 使用抢占式实例降低成本
|
||||
- **无状态服务** - Web服务、API网关等
|
||||
|
||||
### 部署示例
|
||||
```yaml
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
name: eci-pod-example
|
||||
annotations:
|
||||
k8s.aliyun.com/eci-spot-strategy: "SpotAsPriceGo"
|
||||
spec:
|
||||
nodeName: virtual-kubelet
|
||||
containers:
|
||||
- name: nginx
|
||||
image: nginx:latest
|
||||
tolerations:
|
||||
- key: alibabacloud.com/eci
|
||||
operator: "Exists"
|
||||
effect: NoSchedule
|
||||
```
|
||||
|
||||
## 项目状态
|
||||
|
||||
### 当前版本
|
||||
- **稳定版本**: 生产环境可用
|
||||
- **活跃维护**: 持续更新和维护
|
||||
- **社区支持**: Virtual Kubelet社区项目
|
||||
|
||||
### 兼容性
|
||||
- **Kubernetes**: 1.14+
|
||||
- **Virtual Kubelet**: 0.10.0+
|
||||
- **阿里云ECI**: 全功能支持
|
||||
|
||||
## 文档链接
|
||||
|
||||
### 核心文档
|
||||
- [技术栈分析](./technology-stack.md) - 详细技术栈说明
|
||||
- [源树分析](./source-tree-analysis.md) - 项目结构说明
|
||||
- [开发指南](./development-guide.md) - 开发环境设置
|
||||
|
||||
### 现有文档
|
||||
- [README.md](../README.md) - 项目概述和使用说明
|
||||
- [ECI文档](./eci.md) - ECI抢占式实例详细文档
|
||||
- [产品简介](./product-brief-vk-eci-2025-11-06.md) - 产品需求文档
|
||||
|
||||
### 外部资源
|
||||
- [Virtual Kubelet文档](https://github.com/virtual-kubelet/virtual-kubelet)
|
||||
- [阿里云ECI文档](https://help.aliyun.com/product/87445.html)
|
||||
- [Kubernetes文档](https://kubernetes.io/docs/)
|
||||
|
||||
---
|
||||
|
||||
*此概览文档提供了项目的全面介绍,包括技术栈、架构、功能特性和使用场景,是了解项目全貌的起点。*
|
||||
Reference in New Issue
Block a user