Files
alibabacloud-eci/docs/project-overview.md
D8D Developer e776084312 feat(docs): 添加完整的项目文档集
- 新增开发指南文档,包含环境设置、构建流程和最佳实践
- 添加项目概览文档,提供项目全面介绍和架构说明
- 创建技术栈分析文档,详细说明使用的技术和依赖
- 添加源树分析文档,解释项目目录结构和关键文件
- 创建文档索引页面,统一管理所有项目文档
- 生成项目扫描报告,记录文档生成过程
- 更新工作流状态配置,指定文档化前提条件
- 添加.gitignore规则,忽略NFS相关文件
2025-11-06 07:38:58 +00:00

153 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 项目概览
## 项目基本信息
**项目名称**: 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/)
---
*此概览文档提供了项目的全面介绍,包括技术栈、架构、功能特性和使用场景,是了解项目全貌的起点。*