使用聚合层(Aggregation Layer),用户可以通过附加的 API 扩展 Kubernetes,
而不局限于 Kubernetes 核心 API 提供的功能。
这里的附加 API 可以是现成的解决方案,比如 metrics server,
或者你自己开发的 API。
聚合层不同于 [定制资源(Custom Resources)]。
后者的目的是让 kube-apiserver能够识别新的对象类别(Kind)。
聚合层
聚合层在 kube-apiserver 进程内运行。在扩展资源注册之前,聚合层不做任何事情。
要注册 API,你可以添加一个 APIService 对象,用它来 “申领” Kubernetes API 中的 URL 路径。
自此以后,聚合层将把发给该 API 路径的所有内容(例如 /apis/myextension.mycompany.io/v1/…
)
转发到已注册的 APIService。 APIService 的最常见实现方式是在集群中某 Pod 内运行 扩展 API 服务器。
如果你在使用扩展 API 服务器来管理集群中的资源,该扩展 API 服务器(也被写成“extension-apiserver”)
一般需要和一个或多个 控制器 一起使用。 apiserver-builder 库同时提供构造扩展 API 服务器和控制器框架代码。
响应延迟response-latency
扩展 API 服务器与 kube-apiserver 之间需要存在低延迟的网络连接。
发现请求需要在五秒钟或更短的时间内完成到 kube-apiserver 的往返。
如果你的扩展 API 服务器无法满足这一延迟要求,应考虑如何更改配置以满足需要。
- 阅读[配置聚合层] 文档, 了解如何在自己的环境中启用聚合器。
- 接下来,了解[安装扩展 API 服务器], 开始使用聚合层。
- 从 API 参考资料中研究关于 [APIService] 的内容。
或者,学习如何[使用 CustomResourceDefinition 扩展 Kubernetes API]。