Merge branch '3.0.x'

This commit is contained in:
Ryan Baxter
2023-10-25 14:11:03 -04:00
10 changed files with 40 additions and 44 deletions

View File

@@ -71,7 +71,9 @@
<!-- configuration watcher is based on k8s-client, there's no fabric8 counterpart -->
<module>spring-cloud-kubernetes-k8s-client-configuration-watcher</module>
<module>spring-cloud-kubernetes-client-loadbalancer-it</module>
<!-- at the moment we have no integration test for the fabric8 client, only k8s native client -->
<module>spring-cloud-kubernetes-k8s-client-loadbalancer</module>
<module>spring-cloud-kubernetes-client-configmap-event-reload-multiple-apps</module>
<module>spring-cloud-kubernetes-client-secrets-event-reload-multiple-apps</module>
</modules>

View File

@@ -1,14 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: spring-cloud-kubernetes-client-loadbalancer-it
name: spring-cloud-kubernetes-client-loadbalancer-it
spec:
ports:
- name: http
port: 8080
targetPort: 8080
selector:
app: spring-cloud-kubernetes-client-loadbalancer-it
type: ClusterIP

View File

@@ -9,7 +9,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>spring-cloud-kubernetes-client-loadbalancer-it</artifactId>
<artifactId>spring-cloud-kubernetes-k8s-client-loadbalancer</artifactId>
<dependencies>
<dependency>

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package org.springframework.cloud.kubernetes.client.loadbalancer.it;
package org.springframework.cloud.kubernetes.k8s.client.loadbalancer;
import java.util.List;
import java.util.Map;
@@ -38,18 +38,18 @@ import org.springframework.web.reactive.function.client.WebClient;
@SpringBootApplication
@RestController
public class KubernetesClientLoadBalancerApplicationIt {
public class KubernetesClientLoadBalancerApplication {
private static final String URL = "http://service-wiremock/__admin/mappings";
private final DiscoveryClient discoveryClient;
public KubernetesClientLoadBalancerApplicationIt(DiscoveryClient discoveryClien) {
public KubernetesClientLoadBalancerApplication(DiscoveryClient discoveryClien) {
this.discoveryClient = discoveryClien;
}
public static void main(String[] args) {
SpringApplication.run(KubernetesClientLoadBalancerApplicationIt.class, args);
SpringApplication.run(KubernetesClientLoadBalancerApplication.class, args);
}
@Bean

View File

@@ -14,11 +14,9 @@
* limitations under the License.
*/
package org.springframework.cloud.kubernetes.client.loadbalancer.it;
package org.springframework.cloud.kubernetes.k8s.client.loadbalancer;
import java.time.Duration;
import java.util.Map;
import java.util.Objects;
import io.kubernetes.client.openapi.models.V1Deployment;
import io.kubernetes.client.openapi.models.V1Ingress;
@@ -34,8 +32,6 @@ import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
import org.testcontainers.k3s.K3sContainer;
import reactor.netty.http.client.HttpClient;
import reactor.util.retry.Retry;
import reactor.util.retry.RetryBackoffSpec;
import org.springframework.boot.test.json.BasicJsonTester;
import org.springframework.cloud.kubernetes.integration.tests.commons.Commons;
@@ -61,7 +57,7 @@ class LoadBalancerIT {
"template": {
"spec": {
"containers": [{
"name": "spring-cloud-kubernetes-client-loadbalancer-it",
"name": "spring-cloud-kubernetes-k8s-client-loadbalancer",
"env": [
{
"name": "SPRING_CLOUD_KUBERNETES_LOADBALANCER_MODE",
@@ -76,11 +72,12 @@ class LoadBalancerIT {
""";
private static final Map<String, String> POD_LABELS = Map.of("app",
"spring-cloud-kubernetes-client-loadbalancer-it");
"spring-cloud-kubernetes-k8s-client-loadbalancer");
private static final String SERVICE_URL = "http://localhost:80/loadbalancer-it/service";
private static final String SPRING_CLOUD_K8S_LOADBALANCER_APP_NAME = "spring-cloud-kubernetes-client-loadbalancer-it";
private static final String SPRING_CLOUD_K8S_LOADBALANCER_APP_NAME =
"spring-cloud-kubernetes-k8s-client-loadbalancer";
private static final String NAMESPACE = "default";
@@ -124,7 +121,7 @@ class LoadBalancerIT {
@Test
@Order(2)
void testLoadBalancerServiceMode() {
patchForServiceMode("spring-cloud-kubernetes-client-loadbalancer-it-deployment", NAMESPACE);
patchForServiceMode();
testLoadBalancer();
}
@@ -141,9 +138,9 @@ class LoadBalancerIT {
private static void loadbalancerIt(Phase phase) {
V1Deployment deployment = (V1Deployment) util
.yaml("spring-cloud-kubernetes-client-loadbalancer-pod-it-deployment.yaml");
V1Service service = (V1Service) util.yaml("spring-cloud-kubernetes-client-loadbalancer-it-service.yaml");
V1Ingress ingress = (V1Ingress) util.yaml("spring-cloud-kubernetes-client-loadbalancer-it-ingress.yaml");
.yaml("spring-cloud-kubernetes-k8s-client-loadbalancer-deployment.yaml");
V1Service service = (V1Service) util.yaml("spring-cloud-kubernetes-k8s-client-loadbalancer-service.yaml");
V1Ingress ingress = (V1Ingress) util.yaml("spring-cloud-kubernetes-k8s-client-loadbalancer-ingress.yaml");
if (phase.equals(Phase.CREATE)) {
util.createAndWait(NAMESPACE, null, deployment, service, ingress, true);
@@ -157,12 +154,9 @@ class LoadBalancerIT {
return WebClient.builder().clientConnector(new ReactorClientHttpConnector(HttpClient.create()));
}
private RetryBackoffSpec retrySpec() {
return Retry.fixedDelay(15, Duration.ofSeconds(1)).filter(Objects::nonNull);
}
private static void patchForServiceMode(String deploymentName, String namespace) {
patchWithMerge(deploymentName, namespace, BODY_FOR_MERGE, POD_LABELS);
private static void patchForServiceMode() {
patchWithMerge("spring-cloud-kubernetes-k8s-client-loadbalancer", LoadBalancerIT.NAMESPACE,
BODY_FOR_MERGE, POD_LABELS);
}
}

View File

@@ -1,23 +1,23 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: spring-cloud-kubernetes-client-loadbalancer-it-deployment
name: spring-cloud-kubernetes-k8s-client-loadbalancer
spec:
selector:
matchLabels:
app: spring-cloud-kubernetes-client-loadbalancer-it
app: spring-cloud-kubernetes-k8s-client-loadbalancer
template:
metadata:
labels:
app: spring-cloud-kubernetes-client-loadbalancer-it
app: spring-cloud-kubernetes-k8s-client-loadbalancer
spec:
serviceAccountName: spring-cloud-kubernetes-serviceaccount
containers:
- name: spring-cloud-kubernetes-client-loadbalancer-it
- name: spring-cloud-kubernetes-k8s-client-loadbalancer
env:
- name: SPRING_CLOUD_KUBERNETES_LOADBALANCER_MODE
value: POD
image: docker.io/springcloud/spring-cloud-kubernetes-client-loadbalancer-it
image: docker.io/springcloud/spring-cloud-kubernetes-k8s-client-loadbalancer
imagePullPolicy: IfNotPresent
readinessProbe:
httpGet:

View File

@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
labels:
app: spring-cloud-kubernetes-k8s-client-loadbalancer
name: spring-cloud-kubernetes-k8s-client-loadbalancer
spec:
ports:
- name: http
port: 8080
targetPort: 8080
selector:
app: spring-cloud-kubernetes-k8s-client-loadbalancer
type: ClusterIP