如何实现K8S代理观察程序api服务器?

时间:2020-10-09 10:01:17

标签: kubernetes watch kube-apiserver

我需要创建一个K8S代理观察程序api-server,它从客户端使用list接收watch=true个请求(对于某些k8s资源),并向真实的上游K8S API服务器提供代理请求,然后从上游连续接收响应并将其发送回去。

这就是我所做的:

  1. 对于服务器端,原始的K8S api服务器使用长期存在的HTTP连接以及分块响应来实现watch操作。在代码中,有一个WatchServer结构可满足watch请求: enter image description here

它的第一个成员Watching需要一个结构实现watch.Interface的接口。因此,我必须找到一个合适的obj来填充此字段,以便可以实现类似的K8S apiserver。

  1. 对于客户端,我必须从上游服务器获取真实的监视事件,因此我在K8S中使用了SharedInformer,使用添加/删除/更新事件处理程序来接收最新的事件通知。

问题在于SharedInformer未实现watch.Interface接口,不能用于创建WatchServer结构。那么,有什么方法可以将这两件事联系在一起?还是可以使用任何objs来实现我的要求?

0 个答案:

没有答案
相关问题