记一次 spring cloud gateway 在 k8s 环境中域名解析失败问题

记一次 spring cloud gateway 在 k8s 环境中域名解析失败问题

环境: gateway + zookeeper ; gateway 配置的 lb 负载均衡模式;

因为gateway和k8s环境服务发现机制不一致,k8s内部是通过 service名称向外提供服务,而gateway中服务注册的是hostname(对应 k8s中 pod的 hostname), 导致 k8s环境中gateway 无法正确访问到其他服务

解决: 1. 添加配置 (对应配置类 ZookeeperDiscoveryProperties)

discovery:

prefer-ip-address: true

该配置让 gateway相关服务注册服务的时候使用ip地址,而不是使用 hostname, 这样gateway访问其他服务的时候就不需要进行域名解析了,但是这样做会导致服务无法使用k8s提供服务端负载均衡功能了

解决:2. 将 lb 协议改成具体的 http(具体协议) 协议 ,加上 服务在 k8s 环境中 service 的名称 和 端口, 这种方式可以使用 k8s 提供的服务端负载均衡功能

相关推荐
Just_Paranoid11 分钟前
使用 IDE生成 Java Doc
java·开发语言·ide
匹马夕阳19 分钟前
容器化平台Docker初识
运维·docker·容器
西海天际蔚蓝27 分钟前
递归查询全量分页数据问题
java
俎树振39 分钟前
深入理解与优化Java二维数组:从定义到性能提升的全面指南
java·算法
DARLING Zero two♡1 小时前
【优选算法】Sliding-Chakra:滑动窗口的算法流(上)
java·开发语言·数据结构·c++·算法
love静思冥想1 小时前
Apache Commons ThreadUtils 的使用与优化
java·线程池优化
君败红颜1 小时前
Apache Commons Pool2—Java对象池的利器
java·开发语言·apache
意疏1 小时前
JDK动态代理、Cglib动态代理及Spring AOP
java·开发语言·spring
小王努力学编程1 小时前
【C++篇】AVL树的实现
java·开发语言·c++
计算机学无涯1 小时前
Spring事务回滚
数据库·sql·spring