rancher server 为什么不直接连接k8s 的api-server?

在k8s提供的api中,特别是针对go语言提供了informer机制的客户端,非常方便的使用.

在rancher设计时为什么不使用informer机制直接连接k8s的api-server 而是 在集群中部署一个agent来连接k8s的api

请问: 

1,基于什么考虑这样做呢? 相比直接连接有什么好处呢?

2,如果是基于网络隔离的考虑(集群在内网,rancher在公网,公网无法访问内网),那rancher的agent是怎么使用agent推事件到rancher的server的呢?


已邀请:


                        kubectl  (ancher-agent-api & k8s1-api-1 & k8s2-api-2 & k8s3-api-3 )

                                    ^ 

node1 k8s1-api-1 -.     |

node2 k8s2-api-2 -| ----  封装 ancher-agent-api  --> rancher manager -> UI

node3 k8s3-api-3 -'    

                         

要回复问题请先登录注册