概述
多云管理集群分为两类,主集群和子集群。各个集群需要打通实现一个集群的pod能够访问到另一个集群的pod。这样才能实现应用的跨云部署。
主机群一般会提供一些公共服务,子集群的pod一般会去使用,这样就需要实现主子集群的网络互通。实现方式就是端口固定,通过LB暴露,然后绑定域名,通过将主集群上的域名加端口暴露服务出来,子集群上的pod能够访问这个服务。
另外,子集群的监控也需要被主集群的服务访问。这种场景下也需要暴露子集群的服务。一般通过ingress能暴露访问,但是需要本地配置域名host。
还有Mysql集群同步,需要L4通,DTS需要L4和L7层通达。当然可以通过Nodeport解决,也可以开发一个tpaasProxy做一个统一的代理。
微服务之间的网络访问还需要安全加固,需要验证。
制品库需要使用https协议,等等。
实现
通过天机系统,在主机群部署天机的控制面,在各个集群部署glb-cluster-operator机制,这里会处理CR将规则给到每个集群的glb-envoy控制面,本质上就是envoy的技术进行的管理。除此之外会在主机群部署glb-expose-operator和glb-dns-operator用于对外暴露服务,设置全局域名。
这里需要注意DNS会设置域名到vip的映射。而多集群的服务访问时通过envoy的方式实现的。天机本质上也就是在上层做了一层封装管理。