2020-06-08 20:32:34 +08:00
# Aggregated API Server
2017-11-27 19:33:18 +08:00
2021-12-25 21:42:34 +08:00
Aggregated( 聚合的) API server 是为了将原来的 API server 这个巨石( monolithic) 应用给拆分成, 为了方便用户开发自己的 API server 集成进来,而不用直接修改 kubernetes 官方仓库的代码,这样一来也能将 API server 解耦,方便用户使用实验特性。这些 API server 可以跟 core API server 无缝衔接,使用 kubectl 也可以管理它们。
2017-11-27 19:33:18 +08:00
2020-06-08 20:32:34 +08:00
## 架构
2017-11-27 19:33:18 +08:00
2021-12-25 21:42:34 +08:00
我们需要创建一个新的组件,名为 `kube-aggregator` ,它需要负责以下几件事:
2017-11-27 19:33:18 +08:00
2021-12-25 21:42:34 +08:00
- 提供用于注册 API server 的 API
- 汇总所有的 API server 信息
- 代理所有的客户端到 API server 的请求
2017-11-27 19:33:18 +08:00
2021-12-25 21:42:34 +08:00
**注意**:这里说的 API server 是一组 “API Server”, 而不是说我们安装集群时候的那个 API server, 而且这组 API server 是可以横向扩展的。
2017-11-27 19:33:18 +08:00
2021-12-25 21:42:34 +08:00
## 安装配置聚合的 API server
2017-11-27 19:33:18 +08:00
2021-12-25 21:42:34 +08:00
有两种方式来启用 `kube-aggregator` :
2017-11-27 19:33:18 +08:00
2021-12-25 21:42:34 +08:00
- 使用 **test mode/single-user mode** ,作为一个独立的进程来运行
- 使用 **gateway mode** , `kube-apiserver` 将嵌入到 `kbe-aggregator` 组件中,它将作为一个集群的 gateway, 用来聚合所有 apiserver。
2017-11-27 19:33:18 +08:00
2021-12-25 21:42:34 +08:00
`kube-aggregator` 二进制文件已经包含在 Kubernetes release 里面了。