From 5d047a759157f98aeffda73e719862ff4124ad54 Mon Sep 17 00:00:00 2001 From: piomin Date: Tue, 25 Aug 2020 14:52:47 +0200 Subject: [PATCH] #562 Adding docs, javadoc + removed unused code --- docs/src/main/asciidoc/load-balancer.adoc | 28 +++++++++++++++++++ .../LoadBalancerAllNamespacesTests.java | 2 +- .../loadbalancer/LoadBalancerTests.java | 5 +--- ...bernetesLoadBalancerAutoConfiguration.java | 2 ++ ...rnetesLoadBalancerClientConfiguration.java | 2 +- .../KubernetesLoadBalancerMode.java | 2 ++ .../KubernetesLoadBalancerProperties.java | 2 ++ .../KubernetesServiceInstanceMapper.java | 2 ++ .../KubernetesServicesListSupplier.java | 3 ++ 9 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 docs/src/main/asciidoc/load-balancer.adoc diff --git a/docs/src/main/asciidoc/load-balancer.adoc b/docs/src/main/asciidoc/load-balancer.adoc new file mode 100644 index 00000000..bdb4813c --- /dev/null +++ b/docs/src/main/asciidoc/load-balancer.adoc @@ -0,0 +1,28 @@ +== LoadBalancer for Kubernetes +This project includes Spring Cloud Load Balancer for load balancing based on Kubernetes Endpoints and provides implementation of load balancer based on Kubernetes Service. +To include it to your project add the following dependency. +==== +[source,xml] +---- + + org.springframework.cloud + spring-cloud-starter-kubernetes-loadbalancer + +---- +==== + +To enable load balancing based on Kubernetes Service name use the following property. Then load balancer would try to call application using address, for example `service-a.default.svc.cluster.local` +==== +[source] +---- +spring.cloud.kubernetes.loadbalancer.mode=SERVICE +---- +==== + +To enabled load balancing across all namespaces use the following property. Property from `spring-cloud-kubernetes-discovery` module is respected. +==== +[source] +---- +spring.cloud.kubernetes.discovery.all-namespaces=true +---- +==== diff --git a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/LoadBalancerAllNamespacesTests.java b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/LoadBalancerAllNamespacesTests.java index 0911f9ac..aeb17ada 100644 --- a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/LoadBalancerAllNamespacesTests.java +++ b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/LoadBalancerAllNamespacesTests.java @@ -33,7 +33,7 @@ import org.springframework.web.client.RestTemplate; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) @TestPropertySource(properties = "spring.cloud.kubernetes.discovery.all-namespaces=true") -@EnableKubernetesMockClient(https = true, crud = true) +@EnableKubernetesMockClient(crud = true) public class LoadBalancerAllNamespacesTests { @Autowired diff --git a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/LoadBalancerTests.java b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/LoadBalancerTests.java index 743b5911..0607ad50 100644 --- a/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/LoadBalancerTests.java +++ b/spring-cloud-kubernetes-integration-tests/load-balancer/src/test/java/org/springframework/cloud/kubernetes/loadbalancer/LoadBalancerTests.java @@ -31,7 +31,7 @@ import org.springframework.boot.web.server.LocalServerPort; import org.springframework.web.client.RestTemplate; @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) -@EnableKubernetesMockClient(https = true, crud = true) +@EnableKubernetesMockClient(crud = true) public class LoadBalancerTests { @Autowired @@ -40,9 +40,6 @@ public class LoadBalancerTests { @LocalServerPort int randomServerPort; - // @ClassRule - // public static KubernetesServer server = new KubernetesServer(true, true); - static KubernetesClient client; @BeforeAll diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerAutoConfiguration.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerAutoConfiguration.java index 5fd8e7d9..417861dc 100644 --- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerAutoConfiguration.java +++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerAutoConfiguration.java @@ -24,6 +24,8 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** + * Kubernetes load balancer auto-configuration. + * * @author Piotr Minkowski */ @Configuration(proxyBeanMethods = false) diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerClientConfiguration.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerClientConfiguration.java index adfb8730..4201f4c8 100644 --- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerClientConfiguration.java +++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerClientConfiguration.java @@ -24,7 +24,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.core.env.Environment; /** - * Kubernetes load balancer client properties. + * Kubernetes load balancer client configuration. * * @author Piotr Minkowski */ diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerMode.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerMode.java index 41eb66c4..eaff0c08 100644 --- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerMode.java +++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerMode.java @@ -17,6 +17,8 @@ package org.springframework.cloud.kubernetes.loadbalancer; /** + * Kubernetes load balancer mode enum. + * * @author Piotr Minkowski */ public enum KubernetesLoadBalancerMode { diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerProperties.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerProperties.java index f2d44086..1e9a3a15 100644 --- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerProperties.java +++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesLoadBalancerProperties.java @@ -19,6 +19,8 @@ package org.springframework.cloud.kubernetes.loadbalancer; import org.springframework.boot.context.properties.ConfigurationProperties; /** + * Kubernetes load balancer client properties. + * * @author Piotr Minkowski */ @ConfigurationProperties(prefix = "spring.cloud.kubernetes.loadbalancer") diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceInstanceMapper.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceInstanceMapper.java index c4826323..cfe7bcef 100644 --- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceInstanceMapper.java +++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServiceInstanceMapper.java @@ -31,6 +31,8 @@ import org.springframework.cloud.kubernetes.discovery.KubernetesDiscoveryPropert import org.springframework.cloud.kubernetes.discovery.KubernetesServiceInstance; /** + * Class for mapping Kubernetes Service object into {@link KubernetesServiceInstance}. + * * @author Piotr Minkowski */ public class KubernetesServiceInstanceMapper { diff --git a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServicesListSupplier.java b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServicesListSupplier.java index 463fc9ad..19ac28ad 100644 --- a/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServicesListSupplier.java +++ b/spring-cloud-kubernetes-loadbalancer/src/main/java/org/springframework/cloud/kubernetes/loadbalancer/KubernetesServicesListSupplier.java @@ -31,6 +31,9 @@ import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory; import org.springframework.core.env.Environment; /** + * Implementation of {@link ServiceInstanceListSupplier} for load balancer + * in SERVICE mode + * * @author Piotr Minkowski */ public class KubernetesServicesListSupplier implements ServiceInstanceListSupplier {