微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

我需要创建一个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来实现我的要求?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。