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

相关推荐
Wang's Blog5 分钟前
Java 项目部署之 Docker工具快速入门: Docker 镜像仓库
java·docker
企智汇-项目管理软件13 分钟前
离散制造管理系统怎么选?一套系统管住从研发到交付的全周期
java·人工智能·制造·项目经理·项目管理软件·项目管理系统·项目管理软件工程
JavaEdge.23 分钟前
Docker Compose部署Dify
运维·docker·容器
IT研究室26 分钟前
最新计算机毕业设计选题推荐-基于spring boot的幼儿园管理系统-网站-文档指导-Java-springboot
java·spring boot·课程设计
wzq11_66626 分钟前
Kubernetes集群——网络管理
云原生·容器·kubernetes
会编程的吕洞宾28 分钟前
Spring Cloud Gateway限流实战 Redis令牌桶算法+熔断降级
java·后端·spring
Wang's Blog40 分钟前
Java 项目部署之 Docker工具快速入门: DockerCompose 部署微服务集群
java·docker·微服务
做一个AK梦42 分钟前
云原生服务网格
云原生
BullSmall1 小时前
SonarQube 9.9.8-community 适配 Jenkins 版本说明
java·前端·jenkins
威哥爱编程1 小时前
【AI全栈12-10】Spring Boot 用多模态做商品图审核 / 发票识别
java·spring boot·后端