记一次 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 提供的服务端负载均衡功能

相关推荐
C雨后彩虹几秒前
行为模式-状态模式
java·观察者模式·设计模式
东阳马生架构31 分钟前
订单初版—8.取消订单实现的重构文档一
java
东阳马生架构32 分钟前
订单初版—8.取消订单实现的重构文档二
java
天天摸鱼的java工程师32 分钟前
“你能从字节码层面解释JVM内存模型吗?”——面试官的死亡提问
java·后端·面试
悠哉清闲1 小时前
C++ 指针与引用
java·c++·算法
0XIX01 小时前
omniparser v2 本地部署及制作docker镜像(20250715)
运维·docker·容器·omniparser-v2
没有羊的王K1 小时前
SSM框架学习DI入门——day2
java·spring boot·学习
公子绝1 小时前
JAVA学习笔记 使用notepad++开发JAVA-003
java·学习·notepad++·java开发环境
似璟如你1 小时前
Java开发八股文之基础篇+spring+集合
java·开发语言·面试
本杰明1521 小时前
2025/7/14——java学习总结
java·开发语言·学习