kubernetes-handbook/concepts/aggregated-api-server.md

29 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Aggregated API Server
Aggregated聚合的API server是为了将原来的API server这个巨石monolithic应用给拆分成为了方便用户开发自己的API server集成进来而不用直接修改kubernetes官方仓库的代码这样一来也能将API server解耦方便用户使用实验特性。这些API server可以跟core API server无缝衔接使用kubectl也可以管理它们。
## 架构
我们需要创建一个新的组件,名为`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
有两种方式来启用`kube-aggregator`
- 使用**test mode/single-user mode**,作为一个独立的进程来运行
- 使用**gateway mode**`kube-apiserver`将嵌入到`kbe-aggregator`组件中它将作为一个集群的gateway用来聚合所有apiserver。
`kube-aggregator`二进制文件已经包含在kubernetes release里面了。
## 参考
[Aggregated API Servers - kuberentes design-proposals](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/aggregated-api-servers.md)