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 服务器无法满足该延迟要求,请考虑进行更改以满足要求。
下一步
- 要让聚合器在你的环境中工作,请 配置聚合层。
- 然后,设置一个扩展 api-server 以与聚合层协同工作。
- 阅读 API 参考中关于 APIService 的内容。
- 了解 声明式校验概念(Declarative Validation Concepts),这是一种用于定义校验规则的内部机制,未来将有助于支持扩展 API 服务器开发的校验。
或者:学习如何 使用定制资源定义扩展 Kubernetes API。
最后修改于 2025年3月27日 10:09 AM PST:更新 content/en/docs/concepts/extend-kubernetes/api-extension/declarative-validation.md (210060f584)