简介(持续更新)
- 代码 ==> 镜像 ==> k8s 集群自动化
- 支持常规操作:发布、灰度发布、回滚、重启等 Master-Worker 架构的灰度发布难题
- 支持容器的调度需求:项目之间亲和性、节点负载等
- 发布过程、 结果的信息展示,防止开发困惑
反思
用户体验
- 应该专门搭建一个开发环境,用于变更代码后进行全流程测试,可以避免拿正式环境当测试的情况,避免bug让用户感知到,也规范了开发行为。
- 应该充分的将信息同步给用户,避免错误信息、缺失信息给用户带来困扰 系统设计
- 对发布系统的认识深度不够,认为仅仅是单纯的将用户请求拼成k8s 命令发出去就行。对发布系统的功能点梳理不够,没有统一考虑(比如一次发布的多次action如何处理,上下线动作搁哪里,没有核心设计,改了核心设计也不知道), 设计跟着需求走。在整体设计还比较稚嫩的时候,一定要按最简方案设计,不要轻易复杂化。
- 最开始为了尽快上线,野蛮生长(一定程度上无法避免),导致后期代码复杂,改动困难,实现同一个功能有多个地方可以更改。具体实现可以有一定容错的余地,但是与第三方系统接口的制定一定要慎之又慎。
- 对”交付“的认识深度不够,很多时候,代码发出去,靠用户反馈来解决问题。伴随一个系统开发的就是量化手段,得提出一个指标,这个指标可描述、可监控,只要指标没问题,系统就是健康的。