Rainbond/worker
2018-12-04 23:15:02 +08:00
..
appm [ADD] add resource auto delete method 2018-12-04 23:15:02 +08:00
client [REV] change all db name and remove kube client from api module 2018-11-22 14:33:29 +08:00
discover [REV] Unified message queuing code 2018-12-04 18:08:51 +08:00
handle [DEL] delete some debug messages 2018-12-03 19:27:31 +08:00
master [FIX] fix Unknown column 'host_path' in 'field list' bug 2018-12-04 16:55:58 +08:00
monitor [REV] update app runtime collector for prometheus 2018-11-21 11:25:19 +08:00
server [REV] change selector remove version info 2018-11-28 15:37:28 +08:00
README.md [REV] update package api design,remove pkg dir (fixed #57) 2018-04-24 16:44:59 +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状态问题影响不大已数据库一致性为主。 应用状态多实例间忽略数据不一致,会导致应用状态异常设置。