OpenKruise多个controller使用一个cache,其实还是将多组crd放到一个进程内部调谐的结果吧?那controller-mesh本身的方案是否增加了整个operator的复杂度呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
OpenKruise的多个controller使用一个cache,主要是为了提高性能和减少资源消耗。通过共享一个cache,可以避免每个controller都单独维护一个cache,从而减少了内存和CPU的使用。
至于controller-mesh本身是否增加了整个operator的复杂度,这主要取决于具体的实现和使用方式。controller-mesh提供了一种集中式的服务发现和管理机制,可以帮助简化operator的设计和管理。然而,如果不正确使用或者过度依赖controller-mesh,可能会增加系统的复杂性和潜在的风险。因此,在使用controller-mesh时需要谨慎考虑其优缺点,并根据实际情况进行选择和优化。
OpenKruise的多个controller使用一个cache,主要是为了提高性能和减少资源消耗。在控制器内部,每个controller都有自己的cache,这样可以确保每个controller处理自己的CRD操作,避免了不必要的竞争和冲突。
至于controller-mesh本身的方案是否增加了整个operator的复杂度,这取决于具体的实现方式。controller-mesh是一个用于管理Kubernetes集群中服务间通信的开源项目,它提供了一种简单的方式来配置和管理跨命名空间的服务调用。通过使用controller-mesh,可以简化Kubernetes集群中的服务发现、负载均衡和故障恢复等操作,从而提高集群的可维护性和可靠性。
然而,controller-mesh本身也有一定的复杂性。它需要与Kubernetes API服务器进行交互,以获取集群中的各种信息。此外,controller-mesh还需要处理各种网络协议和安全策略,以确保集群中的服务通信的安全性和稳定性。因此,使用controller-mesh可能会增加整个operator的复杂度,但同时也可以提高集群的性能和可靠性。
复杂度肯定会增加的,毕竟多了一层代理,不过就类似于 istio 一般使用者可能不太关心这层实现。。不过现在的接入还是有场景限制的。稳定性其实 目前蚂蚁还是有一定规模使用的。可以看一下 今年上海 kubecon 蚂蚁有一个分享。另外,没有大规模落地,也谈不上稳定性了。。。首先还是要落地,在谈稳定性了 ,此回答整理自钉群“OpenKruise 社区交流群”