Kubernetes的一些功能特性也与公有云提供商密切相关,例如:负载均衡服务、弹性公网IP、存储服务等,具体实现也需要与API Server通信,也属于运行商内部重点保障的安全区域。
此外,公有云提供商提供kubernetes服务时,考虑到安全问题,会要求以API Server为核心的Master节点的网络与承载客户应用的Node节点的网络实现某种程度的“安全隔离”。为此,API Server 增加了SSH 安全通道的相关代码,让公有云提供商可以通过这个SSH安全通道实现API Server相关的服务器接口调用,这个使得API Server变得臃肿,带来升级、部署以及演进的额外负担。之后,Kubernetes设计给出了API Server Network Proxy特性的设计思路。
在Master节点的网络里部署konnectivity Server,同时在Node节点的网络里部署konnectivity Agent,两者之前建立安全连接,对通信协议可以采用HTTP或者gRPC,此时设计允许Node节点网络被划分为多个独立的分配,这些分片都通过konnectivity Server/Agent 建立安全连接与API Server实现点对点的连通。
引入API Server Network Proxy机制以实现Master网络与Node网络的安全隔离的做法,优势:
- Connectivity proxy(Konnectivity Server/Agent) 可以独立扩展,不会影响到API Server发展&#x