问题1:我现在觉得OpenKruise 可以不给vscale加锁,跟Pod垂直扩缩容的行为一致比较好,可以允许在中途直接update重建pod,vscale查看重建的pod的resource发现符合要求可以直接认为是扩缩容成功的pod就行。这样似乎更合理一点?
问题2:感觉不能放在原地升级里面,这俩应该是类似的功能?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
是的,你可以通过 OpenKruise 进行 VScale(Vertical Scaling)来实现 Pod 的垂直扩缩容,而无需给 VScale 加锁。
OpenKruise 提供了一种称为 VPA(Vertical Pod Autoscaler)的功能,可以根据资源需求自动调整 Pod 的资源配额。VPA 可以根据 Pod 的 CPU、内存等资源使用情况,自动调整 Pod 的资源请求和限制,以满足应用程序的需求。
VPA 是一个 Kubernetes 的扩展,可以与 OpenKruise 配合使用。它可以根据指定的策略和指标,自动调整 Pod 的资源配额。VPA 会监视 Pod 的资源使用情况,并根据定义的策略动态调整 Pod 的资源配置。
使用 VPA,你可以根据应用程序的资源需求和负载情况,自动调整 Pod 的垂直扩缩容。这种方式比给 VScale 加锁更加动态和灵活,可以根据实际需求进行自适应的资源分配。
需要注意的是,VPA 功能需要进行适当的配置和部署,并且可能需要根据你的具体需求进行调整和定制。你可以参考 OpenKruise 和 VPA 的官方文档以获取更多关于 VScale 和 VPA 的详细信息和用法。
回答1:仔细想了下,vscale 可能不能单独抽出来,因为抽出来之后, revision 计算是个麻烦事,vscale 和 update 两块逻辑都需要感知,一个更新了另一个怎么办?那可能还得放到 update 逻辑里面一块考虑,只不过判断原地升级的时候,如果只改了 resource,就触发一个特殊的升级流程这样?
回答2:嗯,我也是这个意思,尽量少改原地升级的代码,单独抽出一个类似的升级流程,此回答整理自钉群“OpenKruise 社区交流群”