Skip to content

增强服务:分配时间过长的情况下产生资源泄露 #2753

Description

@xiaoj655

问题背景

Image

解决思路

更详细些的创建逻辑示意图:

Image 可以看到,代码大概是 paas-apiserver <-> paas-service <-> svc-xxx 这样流动的

解决思路:

Image

在中间 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,便于在线上测试

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions