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

相关推荐
what丶k1 分钟前
深入理解Java NIO:从原理到实战的全方位解析
java·开发语言·nio
boy快快长大3 分钟前
Docker简单服务迁移
运维·docker·容器
血小板要健康4 分钟前
笔试面经2(上)(纸质版)
java·开发语言
qq_428389044 分钟前
尚硅谷k8s自己实践步骤
spring cloud·kubernetes
忧郁的Mr.Li10 分钟前
JVM-类加载子系统、运行时数据区 详解
java·jvm
麦兜*12 分钟前
深入解析云原生AI应用全栈架构:从Kubernetes智能调度与Istio服务网格到Knative事件驱动与Prometheus可观测性实战指南
人工智能·云原生·架构
树码小子13 分钟前
SpringMVC(2)传入请求参数
spring·mvc
树码小子14 分钟前
SpringMVC(1)初识MVC
spring·mvc
shehuiyuelaiyuehao15 分钟前
12异常知识点
java
好好研究16 分钟前
MobaXterm远程连接云服务器(Centos环境)及配置jdk、Tomcat、MySQL环境
java·服务器·mysql·jdk·tomcat·aliyun服务器