2017-11-28 11:52:18 +08:00
## Aggregated API Server
2017-11-27 19:33:18 +08:00
2017-12-13 23:03:07 +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
### 架构
我们需要创建一个新的组件,名为`kube-aggregator`,它需要负责以下几件事:
- 提供用于注册API server的API
- 汇总所有的API server信息
- 代理所有的客户端到API server的请求
**注意**: 这里说的API server是一组“API Server”, 而不是说我们安装集群时候的那个API server, 而且这组API server是可以横向扩展的。
关于聚合的API server的更多信息请参考: [Aggregated API Server](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/aggregated-api-servers.md)
### 安装配置聚合的API server
2017-12-14 19:35:02 +08:00
有两种方式来启用`kube-aggregator`:
2017-11-27 19:33:18 +08:00
2017-12-14 19:35:02 +08:00
- 使用**test mode/single-user mode**,作为一个独立的进程来运行
- 使用**gateway mode**, `kube-apiserver`将嵌入到`kbe-aggregator`组件中, 它将作为一个集群的gateway, 用来聚合所有apiserver。
2017-11-27 19:33:18 +08:00
2017-12-14 19:35:02 +08:00
`kube-aggregator` 二进制文件已经包含在kubernetes release里面了。
2017-11-27 19:33:18 +08:00
2017-12-14 19:35:02 +08:00
## 参考
2017-11-27 19:33:18 +08:00
2019-04-24 14:30:18 +08:00
[Aggregated API Servers - kuberentes design-proposals ](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/aggregated-api-servers.md )