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

相关推荐
黎宇幻生3 小时前
Java全栈学习笔记39
java·笔记·学习
Aurorar0rua3 小时前
C Primer Plus Notes 09
java·c语言·算法
nongcunqq4 小时前
abap 操作 excel
java·数据库·excel
史迪奇_xxx5 小时前
10、一个简易 vector:C++ 模板与 STL
java·开发语言·c++
2301_801252225 小时前
Java中的反射
java·开发语言
伊成5 小时前
细说Docker命令
docker·容器·eureka
java_logo6 小时前
vllm-openai Docker 部署手册
运维·人工智能·docker·ai·容器
遇印记6 小时前
大二java学习笔记:二维数组
java·笔记·学习
阿里云大数据AI技术6 小时前
云栖实录|MaxCompute全新升级:AI时代的原生数据仓库
大数据·数据库·云原生
小杨同学yx6 小时前
有关maven的一些知识点
java·开发语言