Springcloud应用在阿里云Kubernetes上的IP互通实践
问题
在应用微服务化方案中,Springcloud是比较常见的选择,毕竟其对于Java 的程序员来说比较友好,基于Springboot的编程方式也使得门槛比较低。但是在将Springcloud的应用运行到Kubernetes容器化平台的时候,对于集群外的Client要访问集群内的服务就变得不是那么容易了。因为通常的Kubernetes部署有以下约束:
- POD的IP段是独立的IP段,对于集群外的机器是不可访问
- Springcloud的服务做服务注册的时候,注册的是POD的IP
- Springcloud的客户端从Eureka上获取服务的IP是POD的IP,从而造成集群外机器访问该POD的IP是不通的。
解决方案
方案一: Host network
部署的时候,以host network的方式部署Springcloud的服务应用。这个方式虽然简单,但是