10. 适用于 Kubernetes 的负载均衡器
该项目包括用于基于 Kubernetes Endpoints 的负载均衡的 Spring Cloud Load Balancer,并提供基于 Kubernetes Service 的负载均衡器的实现。 要将其包含在您的项目中,请添加以下依赖项。
Fabric8 实现
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-kubernetes-fabric8-loadbalancer</artifactId>
</dependency>
Kubernetes Java 客户端实现
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-kubernetes-client-loadbalancer</artifactId>
</dependency>
要启用基于 Kubernetes 服务名称的负载平衡,请使用以下属性。然后负载均衡器将尝试使用地址调用应用程序,例如service-a.default.svc.cluster.local
spring.cloud.kubernetes.loadbalancer.mode=SERVICE
要在所有命名空间之间启用负载平衡,请使用以下属性。属性起价spring-cloud-kubernetes-discovery
模块。
spring.cloud.kubernetes.discovery.all-namespaces=true
如果需要通过 HTTPS 访问服务,则需要向服务定义添加标签或注释,名称为secured
和值true
然后负载均衡器将使用 HTTPS 向服务发出请求。