OpenKruise中,两个控制器都会打印更新失败的日志,导致apiserver有比较多的api错误请求,有大佬知道OpenKruise分批发布会和原生的控制器冲突怎么解决吗?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
OpenKruise和原生的Kubernetes控制器在某些情况下可能会出现冲突,导致更新失败的日志频繁出现OpenKruise和原生的Kubernetes控制器在某些情况下可能会出现冲突,导致更新失败的日志频繁出现,进而引发apiserver有大量的错误请求。这主要可能是因为两个控制器在对同一资源进行操作时出现了竞争条件。
解决这个问题的一种可能的方法是确保在进行任何更改之前先停用OpenKruise的相关控制器,然后再进行原生控制器的操作。这样可以防止两个控制器同时尝试修改同一个资源,从而避免冲突。
此外,您也可以尝试调整OpenKruise和原生控制器的操作顺序或者引入一些延时,以确保一个控制器在另一个控制器完成操作后再开始自己的操作。这可能需要您深入了解这两个控制器的行为并根据实际情况进行调整。
OpenKruise 是一个由阿里云开源的大规模应用自动化管理引擎,它提供了比 Kubernetes 原生 Deployment 和 StatefulSet 等控制器更为丰富的功能,例如优雅原地升级、发布优先级/打散策略、多可用区 workload 抽象管理等。在使用 OpenKruise 的过程中,特别是进行分批发布时,可能会遇到与原生的控制器冲突的问题,导致 apiserver 出现较多的 api 错误请求。
产生冲突的原因:
解决方法:
具体操作:
通过以上方法,应该可以解决 OpenKruise 分批发布与原生的控制器冲突的问题。