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的复杂度,但同时也可以提高集群的性能和可靠性。