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