问题背景
解决思路
更详细些的创建逻辑示意图:

可以看到,代码大概是 paas-apiserver <-> paas-service <-> svc-xxx 这样流动的
解决思路:
在中间 paas-service 加一层逻辑,引入单据的概念,创建实例前先根据 engine_app_name 看看有无可复用的实例,从而避免孤儿资源的存在(一个 engine_app 有多个实例资源)
| pr 链接 (建议合并顺序) |
实现了 |
解决问题 |
| TencentBlueKing/bkpaas-python-sdk#262 |
paas-service 框架增加 idempotent_provision 幂等分配接口,修改 async_delete 逻辑 |
根据 engine_app_name和历史单据 幂等的申请或复用实例,避免复用异步删除中的实例 |
| #2737 |
修复检查实例资源就绪逻辑 |
原有逻辑没有正确等待下次轮询 |
| #2747 |
升级 paas-service 依赖至 2.0.4 (也就是第一个 pr) |
|
| #2756 |
apiserver 侧按条件切换使用幂等创建的接口 |
按条件选择性的开启使用这个幂等创建的接口 |
pr 总结
修改主要集中在第一个 pr,对 paas-service 框架的修改,增加了一个幂等创建的接口。剩下三个 pr 基本都是适配第一个 pr 而存在的。
paas apiserver 目前设置了开启幂等创建接口的条件为:paas-service 版本 >= 2.0.4(也就是第一个 pr 里的最新版本) && plan 配置了 prefer_idempotent_provision 为 True,便于在线上测试
问题背景
解决思路
更详细些的创建逻辑示意图:
解决思路:
在中间 paas-service 加一层逻辑,引入单据的概念,创建实例前先根据
engine_app_name看看有无可复用的实例,从而避免孤儿资源的存在(一个 engine_app 有多个实例资源)engine_app_name和历史单据 幂等的申请或复用实例,避免复用异步删除中的实例pr 总结
修改主要集中在第一个 pr,对 paas-service 框架的修改,增加了一个幂等创建的接口。剩下三个 pr 基本都是适配第一个 pr 而存在的。
paas apiserver 目前设置了开启幂等创建接口的条件为:paas-service 版本 >= 2.0.4(也就是第一个 pr 里的最新版本) && plan 配置了
prefer_idempotent_provision为 True,便于在线上测试