Kubernetes API 聚合层

聚合层允许使用额外的 API 扩展 Kubernetes,这些 API 超出了核心 Kubernetes API 提供的范围。这些额外的 API 可以是现成的解决方案,例如 指标服务器,也可以是您自己开发的 API。

聚合层不同于 定制资源定义(Custom Resource Definitions),后者是一种让 kube-apiserver 识别新型对象的方式。

聚合层

聚合层与 kube-apiserver 在同一进程中运行。在注册扩展资源之前,聚合层不会做任何事情。要注册一个 API,你需要添加一个 APIService 对象,它“声明”了 Kubernetes API 中的 URL 路径。此时,聚合层会将发送到该 API 路径(例如 /apis/myextension.mycompany.io/v1/…)的任何请求代理到已注册的 APIService。

实现 APIService 的最常见方式是在集群中运行的一个或多个 Pod 中运行一个 扩展 API 服务器。如果你使用扩展 API 服务器来管理集群中的资源,扩展 API 服务器(也写作“extension-apiserver”)通常会与一个或多个 控制器 配对。apiserver-builder 库为扩展 API 服务器和相关的控制器提供了骨架。

响应延迟

扩展 API 服务器应具备与 kube-apiserver 之间的低延迟网络。Discovery 请求需要从 kube-apiserver 往返不超过五秒。

如果你的扩展 API 服务器无法满足该延迟要求,请考虑进行更改以满足要求。

下一步

或者:学习如何 使用定制资源定义扩展 Kubernetes API