本文主要是介绍Spring Cloud Gateway 使用 Kubernetes 实现负载均衡,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Spring Cloud Gateway 使用 Kubernetes 实现负载均衡
在使用 Spring Cloud Gateway 作为服务服务发现时,可能会遇到 Gateway 并没有部署在服务所在的 Kubernetes 集群中,或者存在网络隔离,无法直接通过 Service Name 访问到相应的服务,这时候就需要通过 Service 的 IP 访问,但是,spring-cloud-kubernetes-discovery
没有像 spring-cloud-consul-discovery
一样实现服务负载均衡的接口,所以默认只会访问某个服务固定的 IP;这样就需要使用负载均衡的依赖
添加依赖
implementation 'org.springframework.cloud:spring-cloud-starter-gateway'implementation 'org.springframework.cloud:spring-cloud-starter-kubernetes-all'implementation 'org.springframework.cloud:spring-cloud-starter-netflix-ribbon'
spring-cloud-starter-kubernetes-all
包含 Kubernetes 负载均衡的实现
添加配置
- bootstrap.yaml
spring:cloud:kubernetes:discovery:catalogServicesWatchDelay: 5000client:master-url: https://localhost:60002ca-cert-data: xxxxnamespace: develop
- applicaiton.yaml
spring:application:name: gatewaycloud:gateway:discovery:locator:enabled: truelower-case-service-id: truemanagement:endpoints:web:exposure:include: '*'
这篇关于Spring Cloud Gateway 使用 Kubernetes 实现负载均衡的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!