使用eureka的微服务如何平滑的使用k8s的负载均衡?


公司有些项目使用的springcloud,准备对接测试k8s,这边主要是作为运维的我去负责测试,开发对k8s了解不深,在搜索了一些资料之后,我有如下问题。
因为想尽量让开发少改代码或者配置。这边既想在k8s上继续使用eureka,又想使用使用k8s的service
1.看到一些人修改eureka配置,使用的是prefer-ip-address: true,然后不同的pod注册到eureka的时候IP地址不一样。robbin客户端访问的时候,直接获取到pod的IP列表,这种显然没用到k8s的service。
2. 我有个猜想是,能否在eureka.instance.hostname都自定义为本服务的名字,比如订单服务,先定义它的serivce为order,然后把它的pod里面的配置eureka.instance.hostname定义为order,如果订单服务这个deployment有3个pod,这样就有3个hostsname一样的order注册到eureka上了。这样客户端在获取时,获取到3个元素都是order的一个列表,访问的时候走service了,eureka是否允许这样的定义方式呢?会不会报错呢?因为个人没开发能力,无法验证,希望有使用经验的人解答
3. 之所以想使用k8s的service,主要是看到eureka默认有个30秒的心跳,当更新pod的时候,如果pod不在了,调用者还缓存之前的被调用者的IP,肯定会报错了吧。 而如果走k8s的service的话,service能很快的识别pod是否还在。
已邀请:

要回复问题请先登录注册