Rainbond/pkg/worker/README.md

65 lines
2.8 KiB
Markdown
Raw Normal View History

2017-11-07 11:40:44 +08:00
## 一期项目说明
### 设计说明:
* 支持可配置的资源模型选择应用使用标签进行部署类型选择。本月支持StatefulSets。
* 支持两种数据持久化源etcd and mysql本月支持mysql。
* 支持单实例启停,重启操作,多实例滚动升级操作,水平伸缩,垂直伸缩操作,应用组启动策略操作。
* 支持基于应用标签的高级调度
### 功能点和时间点规划
* [*] 消息队列HTTP API @8.1
* [*] 消息队列gRPC完成golang,python客户端完成 @8.18
* [*] 各种操作类型模型确定 @8.2
* [*] 数据持久层接口实现mysql插件 @8.3-8.4
* [*] 使用zmq进行日志服务客户端封装 @8.3-8.4
* [*] 任务发现器 @8.7-8.8 @崔斌
* [ ] podname dns解析服务 @8.12-8.15 @崔斌
* [*] 任务分析模块 @8.9-8.11 @崔斌
1. 任务截流
2. 数据库相关操作
3. 任务分析
4. logger创建
5. 测试 @8.17
* [ ] 任务执行器 @8.7-8.18
* [*]无状态单应用启动停止,重启,伸缩。
* [*]有状态单应用启动停止,重启,伸缩。
* [*]应用滚动升级。
* [ ]应用组启动停止。
* [ ] 控制台支持应用标签指定应用使用v2 API @8.16-8.18
* [*] region api v2版API @8.14-8.17 @崔斌
1. 兼容API已完成
* [*] region api 端口分配修改。原接口使用podname获取服务数据。新接口podname 与服务数据难对应。思考调整 @崔斌
* [*] 应用运行状态控制器status_manager @8.17 @崔斌
* [ ] 原数据库数据校验与清理
[*] 应用部署信息表:service_deploy_record,(同步部署信息,集群同步回来)
[ ] 应用与Pod信息表:tenant_service_pod
### 模块说明
* 任务发现器
任务发现器持续从消息队列中获取任务信息,并发往任务分析器进行分析。任务分析器需要控制当前节点任务等候数量,如果超过配置值,任务发现器需要将任务重新放回任务队列。
* 任务分析器
任务分析器接收到任务以后分析任务类型,需要的任务数据,封装成执行任务添加到任务执行器中。
高级功能:维护任务的状态。
* 任务执行器
### gRPC
```
cd pkg/api/grpc
protoc --go_out=plugins=grpc:./ message.proto
```
### 部署说明
#### 环境变量
* EX_DOMAIN 数据中心对应域名 例如 `ali-sh.goodrain.net:10080`
* CUR_NET 网络类型 例如 `midonet`
## 二期项目说明
### 设计说明:
* 支持任务执行过程可中断,可恢复,可回滚。
## 无状态说明
本组件设计目标无状态目前POD状态维护具有有状态性应用状态维护具有有状态性.
POD状态问题影响不大已数据库一致性为主。
应用状态多实例间忽略数据不一致,会导致应用状态异常设置。