Rainbond/worker/README.md

65 lines
2.8 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

## 一期项目说明
### 设计说明:
* 支持可配置的资源模型选择应用使用标签进行部署类型选择。本月支持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状态问题影响不大已数据库一致性为主。
应用状态多实例间忽略数据不一致,会导致应用状态异常设置。