From 08f14335129f1eebc2fb8ab3e8b2da6ce30ee658 Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 21 Nov 2025 15:31:01 +0100 Subject: [PATCH 01/11] Update to Spring Boot 4 and Traefik 3 --- kubernetes/README.md | 12 ++++++++++++ kubernetes/apps/health-simulator/pom.xml | 2 +- .../healthsimulator/health/HealthController.java | 2 +- .../health/HealthIndicatorSimulation.java | 6 +++--- kubernetes/apps/hello-world/pom.xml | 2 +- .../apps/spring-boot-admin-discoveryclient/pom.xml | 6 +++--- kubernetes/apps/spring-boot-admin-fabric8/pom.xml | 6 +++--- kubernetes/apps/spring-boot-admin-kubernetes/pom.xml | 6 +++--- .../helm-charts/traefik/templates/deployment.yaml | 2 +- 9 files changed, 28 insertions(+), 16 deletions(-) diff --git a/kubernetes/README.md b/kubernetes/README.md index 1f2de6f..af63bad 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -82,3 +82,15 @@ helm upgrade --install helm-charts/spring-boot-app --set name= ``` + +## Check Kubernetes Resources + +```bash +kubectl get all -o wide +``` + +## Pull Traefik Image + +```bash +docker pull traefik:3 +``` diff --git a/kubernetes/apps/health-simulator/pom.xml b/kubernetes/apps/health-simulator/pom.xml index 81a0174..9cb11d7 100644 --- a/kubernetes/apps/health-simulator/pom.xml +++ b/kubernetes/apps/health-simulator/pom.xml @@ -7,7 +7,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.6 + 4.0.0 de.codecentric diff --git a/kubernetes/apps/health-simulator/src/main/java/de/codecentric/healthsimulator/health/HealthController.java b/kubernetes/apps/health-simulator/src/main/java/de/codecentric/healthsimulator/health/HealthController.java index 1ee9f7e..717beb1 100644 --- a/kubernetes/apps/health-simulator/src/main/java/de/codecentric/healthsimulator/health/HealthController.java +++ b/kubernetes/apps/health-simulator/src/main/java/de/codecentric/healthsimulator/health/HealthController.java @@ -1,7 +1,7 @@ package de.codecentric.healthsimulator.health; import lombok.RequiredArgsConstructor; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.contributor.Status; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; diff --git a/kubernetes/apps/health-simulator/src/main/java/de/codecentric/healthsimulator/health/HealthIndicatorSimulation.java b/kubernetes/apps/health-simulator/src/main/java/de/codecentric/healthsimulator/health/HealthIndicatorSimulation.java index 297e466..d3f9a77 100644 --- a/kubernetes/apps/health-simulator/src/main/java/de/codecentric/healthsimulator/health/HealthIndicatorSimulation.java +++ b/kubernetes/apps/health-simulator/src/main/java/de/codecentric/healthsimulator/health/HealthIndicatorSimulation.java @@ -2,9 +2,9 @@ import lombok.Getter; import lombok.Setter; -import org.springframework.boot.actuate.health.Health; -import org.springframework.boot.actuate.health.HealthIndicator; -import org.springframework.boot.actuate.health.Status; +import org.springframework.boot.health.contributor.Health; +import org.springframework.boot.health.contributor.HealthIndicator; +import org.springframework.boot.health.contributor.Status; import org.springframework.stereotype.Component; @Component diff --git a/kubernetes/apps/hello-world/pom.xml b/kubernetes/apps/hello-world/pom.xml index a97d6a0..443ecf7 100644 --- a/kubernetes/apps/hello-world/pom.xml +++ b/kubernetes/apps/hello-world/pom.xml @@ -7,7 +7,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.6 + 4.0.0 de.codecentric diff --git a/kubernetes/apps/spring-boot-admin-discoveryclient/pom.xml b/kubernetes/apps/spring-boot-admin-discoveryclient/pom.xml index 2089a54..99aa6d5 100644 --- a/kubernetes/apps/spring-boot-admin-discoveryclient/pom.xml +++ b/kubernetes/apps/spring-boot-admin-discoveryclient/pom.xml @@ -7,7 +7,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.6 + 4.0.0 de.codecentric @@ -20,8 +20,8 @@ 17 UTF-8 - 3.5.5 - 2025.0.0 + 4.0.0-M1 + 2025.1.0-RC1 diff --git a/kubernetes/apps/spring-boot-admin-fabric8/pom.xml b/kubernetes/apps/spring-boot-admin-fabric8/pom.xml index a78a764..e6c16ac 100644 --- a/kubernetes/apps/spring-boot-admin-fabric8/pom.xml +++ b/kubernetes/apps/spring-boot-admin-fabric8/pom.xml @@ -7,7 +7,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.6 + 4.0.0 de.codecentric @@ -20,8 +20,8 @@ 17 UTF-8 - 3.5.5 - 2025.0.0 + 4.0.0-M1 + 2025.1.0-RC1 diff --git a/kubernetes/apps/spring-boot-admin-kubernetes/pom.xml b/kubernetes/apps/spring-boot-admin-kubernetes/pom.xml index 2d2efb0..2dd17a2 100644 --- a/kubernetes/apps/spring-boot-admin-kubernetes/pom.xml +++ b/kubernetes/apps/spring-boot-admin-kubernetes/pom.xml @@ -7,7 +7,7 @@ org.springframework.boot spring-boot-starter-parent - 3.5.6 + 4.0.0 de.codecentric @@ -20,8 +20,8 @@ 17 UTF-8 - 3.5.5 - 2025.0.0 + 4.0.0-M1 + 2025.1.0-RC1 diff --git a/kubernetes/helm-charts/traefik/templates/deployment.yaml b/kubernetes/helm-charts/traefik/templates/deployment.yaml index c728cb2..75dfe3f 100644 --- a/kubernetes/helm-charts/traefik/templates/deployment.yaml +++ b/kubernetes/helm-charts/traefik/templates/deployment.yaml @@ -18,7 +18,7 @@ spec: serviceAccountName: traefik-account containers: - name: traefik - image: traefik:v2.9 + image: traefik:3 args: - --api.insecure - --providers.kubernetesingress From 2d42b8e6f34f27675d090abaa77e291c45c1cd42 Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 21 Nov 2025 16:22:05 +0100 Subject: [PATCH 02/11] Update to Spring Boot 4 and Traefik 3 --- kubernetes/README.md | 15 +++++++++++++++ .../deployment/values.yml | 1 - .../deployment/values.yml | 1 - .../deployment/values.yml | 1 - .../src/main/resources/application.yml | 2 +- .../helm-charts/spring-boot-admin/values.yaml | 5 ++--- .../helm-charts/spring-boot-app/values.yaml | 7 +++---- .../values.yaml | 6 +++--- .../helm-charts/traefik/templates/deployment.yaml | 1 + .../traefik/templates/role-binding.yaml | 2 +- .../helm-charts/traefik/templates/service.yaml | 1 + 11 files changed, 27 insertions(+), 15 deletions(-) diff --git a/kubernetes/README.md b/kubernetes/README.md index af63bad..f94a0f3 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -19,11 +19,26 @@ This Readme will guide you through all setup steps for the infrastructure. - ### Change Kubernetes Context + ```bash kubectl config get-contexts kubectl config use-context docker-desktop ``` +## Kubernetes Namespace + +## Create Namespace + +```bash +kubectl create namespace spring-boot-admin +``` + +## Switch Namespace + +```bash +kubectl config set-context --current --namespace=spring-boot-admin +``` + ## Install Helm ```bash brew install helm diff --git a/kubernetes/apps/spring-boot-admin-discoveryclient/deployment/values.yml b/kubernetes/apps/spring-boot-admin-discoveryclient/deployment/values.yml index 1d6ba91..000a3e5 100644 --- a/kubernetes/apps/spring-boot-admin-discoveryclient/deployment/values.yml +++ b/kubernetes/apps/spring-boot-admin-discoveryclient/deployment/values.yml @@ -1,5 +1,4 @@ name: spring-boot-admin-discoveryclient -namespace: default deployment: env: diff --git a/kubernetes/apps/spring-boot-admin-fabric8/deployment/values.yml b/kubernetes/apps/spring-boot-admin-fabric8/deployment/values.yml index 87e88ff..9a6aa55 100644 --- a/kubernetes/apps/spring-boot-admin-fabric8/deployment/values.yml +++ b/kubernetes/apps/spring-boot-admin-fabric8/deployment/values.yml @@ -1,5 +1,4 @@ name: spring-boot-admin-fabric8 -namespace: default deployment: env: diff --git a/kubernetes/apps/spring-boot-admin-kubernetes/deployment/values.yml b/kubernetes/apps/spring-boot-admin-kubernetes/deployment/values.yml index 4679cd0..ba4a27b 100644 --- a/kubernetes/apps/spring-boot-admin-kubernetes/deployment/values.yml +++ b/kubernetes/apps/spring-boot-admin-kubernetes/deployment/values.yml @@ -1,5 +1,4 @@ name: spring-boot-admin-kubernetes -namespace: default deployment: env: diff --git a/kubernetes/apps/spring-boot-admin-kubernetes/src/main/resources/application.yml b/kubernetes/apps/spring-boot-admin-kubernetes/src/main/resources/application.yml index 1488e34..847ba04 100644 --- a/kubernetes/apps/spring-boot-admin-kubernetes/src/main/resources/application.yml +++ b/kubernetes/apps/spring-boot-admin-kubernetes/src/main/resources/application.yml @@ -7,7 +7,7 @@ spring: boot: admin: ui: - # public-url: ${SPRING_BOOT_ADMIN_UI_PUBLIC_URL:http://localhost:8080} + # public-url: ${SPRING_BOOT_ADMIN_UI_PUBLIC_URL:http://localhost:9090} title: ${SPRING_BOOT_ADMIN_UI_TITLE:Spring Boot Admin} brand: ${SPRING_BOOT_ADMIN_UI_TITLE:Spring Boot Admin} cloud: diff --git a/kubernetes/helm-charts/spring-boot-admin/values.yaml b/kubernetes/helm-charts/spring-boot-admin/values.yaml index 81b6447..3a999bf 100644 --- a/kubernetes/helm-charts/spring-boot-admin/values.yaml +++ b/kubernetes/helm-charts/spring-boot-admin/values.yaml @@ -1,12 +1,11 @@ name: spring-boot-admin -namespace: default +namespace: spring-boot-admin deployment: env: SPRING_BOOT_ADMIN_UI_TITLE: Spring Boot Admin - Kubernetes image: spring-boot-admin - # do not pull image but use locally built image, not recommended for production - pullPolicy: Never + pullPolicy: Always updateStrategy: RollingUpdate maxSurge: 100% maxUnavailable: 0% diff --git a/kubernetes/helm-charts/spring-boot-app/values.yaml b/kubernetes/helm-charts/spring-boot-app/values.yaml index 5d5cb61..5282a14 100644 --- a/kubernetes/helm-charts/spring-boot-app/values.yaml +++ b/kubernetes/helm-charts/spring-boot-app/values.yaml @@ -1,10 +1,9 @@ name: spring-boot-app-default -namespace: default +namespace: spring-boot-admin deployment: image: spring-boot-app-default - # do not pull image but use locally built image, not recommended for production - pullPolicy: Never + pullPolicy: Always updateStrategy: RollingUpdate maxSurge: 100% maxUnavailable: 0% @@ -20,4 +19,4 @@ deployment: port: 8080 management: port: 8081 - group: default \ No newline at end of file + group: default diff --git a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/values.yaml b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/values.yaml index d80453e..bc93db4 100644 --- a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/values.yaml +++ b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/values.yaml @@ -1,10 +1,10 @@ name: spring-cloud-kubernetes-discoveryserver -namespace: default +namespace: spring-boot-admin deployment: # https://hub.docker.com/r/springcloud/spring-cloud-kubernetes-discoveryserver/tags - image: springcloud/spring-cloud-kubernetes-discoveryserver:3.3.0 - pullPolicy: IfNotPresent + image: springcloud/spring-cloud-kubernetes-discoveryserver:5.0.0-M4 + pullPolicy: Always updateStrategy: RollingUpdate maxSurge: 100% maxUnavailable: 0% diff --git a/kubernetes/helm-charts/traefik/templates/deployment.yaml b/kubernetes/helm-charts/traefik/templates/deployment.yaml index 75dfe3f..99bc575 100644 --- a/kubernetes/helm-charts/traefik/templates/deployment.yaml +++ b/kubernetes/helm-charts/traefik/templates/deployment.yaml @@ -2,6 +2,7 @@ kind: Deployment apiVersion: apps/v1 metadata: name: traefik-deployment + namespace: spring-boot-admin labels: app: traefik diff --git a/kubernetes/helm-charts/traefik/templates/role-binding.yaml b/kubernetes/helm-charts/traefik/templates/role-binding.yaml index eba0438..7eb04f5 100644 --- a/kubernetes/helm-charts/traefik/templates/role-binding.yaml +++ b/kubernetes/helm-charts/traefik/templates/role-binding.yaml @@ -10,4 +10,4 @@ roleRef: subjects: - kind: ServiceAccount name: traefik-account - namespace: default # Using "default" because we did not specify a namespace when creating the ClusterAccount. + namespace: spring-boot-admin diff --git a/kubernetes/helm-charts/traefik/templates/service.yaml b/kubernetes/helm-charts/traefik/templates/service.yaml index 1860f5b..210a641 100644 --- a/kubernetes/helm-charts/traefik/templates/service.yaml +++ b/kubernetes/helm-charts/traefik/templates/service.yaml @@ -2,6 +2,7 @@ apiVersion: v1 kind: Service metadata: name: traefik-dashboard-service + namespace: spring-boot-admin spec: type: LoadBalancer From 30bb3d2dfa200fefc29eba741b9443a2ceae35dc Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 21 Nov 2025 16:32:24 +0100 Subject: [PATCH 03/11] Update to Spring Boot 4 and Traefik 3 --- kubernetes/helm-charts/spring-boot-admin/values.yaml | 2 +- .../templates/role.yaml | 1 - .../spring-cloud-kubernetes-discoveryserver/values.yaml | 2 +- kubernetes/helm-charts/traefik/templates/deployment.yaml | 2 +- kubernetes/helm-charts/traefik/templates/role-binding.yaml | 2 +- kubernetes/helm-charts/traefik/templates/service.yaml | 3 ++- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/kubernetes/helm-charts/spring-boot-admin/values.yaml b/kubernetes/helm-charts/spring-boot-admin/values.yaml index 3a999bf..5df10c8 100644 --- a/kubernetes/helm-charts/spring-boot-admin/values.yaml +++ b/kubernetes/helm-charts/spring-boot-admin/values.yaml @@ -1,5 +1,5 @@ name: spring-boot-admin -namespace: spring-boot-admin +namespace: default deployment: env: diff --git a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/templates/role.yaml b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/templates/role.yaml index 9169a16..fa3ed89 100644 --- a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/templates/role.yaml +++ b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/templates/role.yaml @@ -1,7 +1,6 @@ kind: Role apiVersion: rbac.authorization.k8s.io/v1 metadata: - namespace: default name: namespace-reader rules: - apiGroups: diff --git a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/values.yaml b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/values.yaml index bc93db4..e1e6d6e 100644 --- a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/values.yaml +++ b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/values.yaml @@ -1,5 +1,5 @@ name: spring-cloud-kubernetes-discoveryserver -namespace: spring-boot-admin +namespace: default deployment: # https://hub.docker.com/r/springcloud/spring-cloud-kubernetes-discoveryserver/tags diff --git a/kubernetes/helm-charts/traefik/templates/deployment.yaml b/kubernetes/helm-charts/traefik/templates/deployment.yaml index 99bc575..b624a85 100644 --- a/kubernetes/helm-charts/traefik/templates/deployment.yaml +++ b/kubernetes/helm-charts/traefik/templates/deployment.yaml @@ -2,7 +2,7 @@ kind: Deployment apiVersion: apps/v1 metadata: name: traefik-deployment - namespace: spring-boot-admin + namespace: default labels: app: traefik diff --git a/kubernetes/helm-charts/traefik/templates/role-binding.yaml b/kubernetes/helm-charts/traefik/templates/role-binding.yaml index 7eb04f5..e7e00ab 100644 --- a/kubernetes/helm-charts/traefik/templates/role-binding.yaml +++ b/kubernetes/helm-charts/traefik/templates/role-binding.yaml @@ -10,4 +10,4 @@ roleRef: subjects: - kind: ServiceAccount name: traefik-account - namespace: spring-boot-admin + namespace: default diff --git a/kubernetes/helm-charts/traefik/templates/service.yaml b/kubernetes/helm-charts/traefik/templates/service.yaml index 210a641..60cacfa 100644 --- a/kubernetes/helm-charts/traefik/templates/service.yaml +++ b/kubernetes/helm-charts/traefik/templates/service.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: name: traefik-dashboard-service - namespace: spring-boot-admin + namespace: default spec: type: LoadBalancer @@ -16,6 +16,7 @@ apiVersion: v1 kind: Service metadata: name: traefik-web-service + namespace: default spec: type: LoadBalancer From 4b2ed78be01af0c50d85cece2124d12f85f7f7f6 Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 21 Nov 2025 16:38:47 +0100 Subject: [PATCH 04/11] Update to Spring Boot 4 and Traefik 3 --- kubernetes/README.md | 15 +-------------- .../helm-charts/spring-boot-app/values.yaml | 2 +- .../helm-charts/traefik/templates/deployment.yaml | 1 - .../traefik/templates/role-binding.yaml | 1 - .../helm-charts/traefik/templates/service.yaml | 1 - 5 files changed, 2 insertions(+), 18 deletions(-) diff --git a/kubernetes/README.md b/kubernetes/README.md index f94a0f3..2aa861e 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -23,20 +23,7 @@ This Readme will guide you through all setup steps for the infrastructure. ```bash kubectl config get-contexts kubectl config use-context docker-desktop -``` - -## Kubernetes Namespace - -## Create Namespace - -```bash -kubectl create namespace spring-boot-admin -``` - -## Switch Namespace - -```bash -kubectl config set-context --current --namespace=spring-boot-admin +kubectl config set-context --current --namespace=default ``` ## Install Helm diff --git a/kubernetes/helm-charts/spring-boot-app/values.yaml b/kubernetes/helm-charts/spring-boot-app/values.yaml index 5282a14..a572fc1 100644 --- a/kubernetes/helm-charts/spring-boot-app/values.yaml +++ b/kubernetes/helm-charts/spring-boot-app/values.yaml @@ -1,5 +1,5 @@ name: spring-boot-app-default -namespace: spring-boot-admin +namespace: default deployment: image: spring-boot-app-default diff --git a/kubernetes/helm-charts/traefik/templates/deployment.yaml b/kubernetes/helm-charts/traefik/templates/deployment.yaml index b624a85..75dfe3f 100644 --- a/kubernetes/helm-charts/traefik/templates/deployment.yaml +++ b/kubernetes/helm-charts/traefik/templates/deployment.yaml @@ -2,7 +2,6 @@ kind: Deployment apiVersion: apps/v1 metadata: name: traefik-deployment - namespace: default labels: app: traefik diff --git a/kubernetes/helm-charts/traefik/templates/role-binding.yaml b/kubernetes/helm-charts/traefik/templates/role-binding.yaml index e7e00ab..fa6c088 100644 --- a/kubernetes/helm-charts/traefik/templates/role-binding.yaml +++ b/kubernetes/helm-charts/traefik/templates/role-binding.yaml @@ -10,4 +10,3 @@ roleRef: subjects: - kind: ServiceAccount name: traefik-account - namespace: default diff --git a/kubernetes/helm-charts/traefik/templates/service.yaml b/kubernetes/helm-charts/traefik/templates/service.yaml index 60cacfa..76263fc 100644 --- a/kubernetes/helm-charts/traefik/templates/service.yaml +++ b/kubernetes/helm-charts/traefik/templates/service.yaml @@ -2,7 +2,6 @@ apiVersion: v1 kind: Service metadata: name: traefik-dashboard-service - namespace: default spec: type: LoadBalancer From 937623062fad7ff6598d1936a5bfa760a298863e Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 21 Nov 2025 16:41:27 +0100 Subject: [PATCH 05/11] Update to Spring Boot 4 and Traefik 3 --- kubernetes/helm-charts/traefik/templates/role-binding.yaml | 1 + kubernetes/helm-charts/traefik/templates/service.yaml | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/helm-charts/traefik/templates/role-binding.yaml b/kubernetes/helm-charts/traefik/templates/role-binding.yaml index fa6c088..eba0438 100644 --- a/kubernetes/helm-charts/traefik/templates/role-binding.yaml +++ b/kubernetes/helm-charts/traefik/templates/role-binding.yaml @@ -10,3 +10,4 @@ roleRef: subjects: - kind: ServiceAccount name: traefik-account + namespace: default # Using "default" because we did not specify a namespace when creating the ClusterAccount. diff --git a/kubernetes/helm-charts/traefik/templates/service.yaml b/kubernetes/helm-charts/traefik/templates/service.yaml index 76263fc..1860f5b 100644 --- a/kubernetes/helm-charts/traefik/templates/service.yaml +++ b/kubernetes/helm-charts/traefik/templates/service.yaml @@ -15,7 +15,6 @@ apiVersion: v1 kind: Service metadata: name: traefik-web-service - namespace: default spec: type: LoadBalancer From 0ba61be4a4af5d2ca69de801560382b1d4dd8463 Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 21 Nov 2025 16:53:59 +0100 Subject: [PATCH 06/11] Back to Traefik 2 --- kubernetes/helm-charts/traefik/templates/deployment.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/helm-charts/traefik/templates/deployment.yaml b/kubernetes/helm-charts/traefik/templates/deployment.yaml index 75dfe3f..2c81292 100644 --- a/kubernetes/helm-charts/traefik/templates/deployment.yaml +++ b/kubernetes/helm-charts/traefik/templates/deployment.yaml @@ -18,7 +18,7 @@ spec: serviceAccountName: traefik-account containers: - name: traefik - image: traefik:3 + image: traefik:2 args: - --api.insecure - --providers.kubernetesingress From 265e0cb151a073c755757fc514a7e90fcf738911 Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 21 Nov 2025 16:54:36 +0100 Subject: [PATCH 07/11] Back to Traefik 2 --- kubernetes/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kubernetes/README.md b/kubernetes/README.md index 2aa861e..3ca68be 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -94,5 +94,5 @@ kubectl get all -o wide ## Pull Traefik Image ```bash -docker pull traefik:3 +docker pull traefik:2 ``` From 465f8826b08a2627d74b1c79c2397fecfc6255e3 Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 21 Nov 2025 17:18:03 +0100 Subject: [PATCH 08/11] Update to Traefik 3 --- kubernetes/README.md | 2 +- .../traefik/templates/deployment.yaml | 2 +- .../helm-charts/traefik/templates/role.yaml | 57 ++++++++++++++++++- 3 files changed, 57 insertions(+), 4 deletions(-) diff --git a/kubernetes/README.md b/kubernetes/README.md index 3ca68be..2aa861e 100644 --- a/kubernetes/README.md +++ b/kubernetes/README.md @@ -94,5 +94,5 @@ kubectl get all -o wide ## Pull Traefik Image ```bash -docker pull traefik:2 +docker pull traefik:3 ``` diff --git a/kubernetes/helm-charts/traefik/templates/deployment.yaml b/kubernetes/helm-charts/traefik/templates/deployment.yaml index 2c81292..75dfe3f 100644 --- a/kubernetes/helm-charts/traefik/templates/deployment.yaml +++ b/kubernetes/helm-charts/traefik/templates/deployment.yaml @@ -18,7 +18,7 @@ spec: serviceAccountName: traefik-account containers: - name: traefik - image: traefik:2 + image: traefik:3 args: - --api.insecure - --providers.kubernetesingress diff --git a/kubernetes/helm-charts/traefik/templates/role.yaml b/kubernetes/helm-charts/traefik/templates/role.yaml index 7e07e3f..7d39bd8 100644 --- a/kubernetes/helm-charts/traefik/templates/role.yaml +++ b/kubernetes/helm-charts/traefik/templates/role.yaml @@ -4,18 +4,29 @@ metadata: name: traefik-role rules: + # Core Kubernetes Ressourcen - apiGroups: - "" resources: - services - endpoints - secrets + - nodes verbs: - get - list - watch + # EndpointSlices + - apiGroups: + - discovery.k8s.io + resources: + - endpointslices + verbs: + - list + - watch + - get + # Standard Kubernetes Ingress API - apiGroups: - - extensions - networking.k8s.io resources: - ingresses @@ -25,9 +36,51 @@ rules: - list - watch - apiGroups: - - extensions - networking.k8s.io resources: - ingresses/status verbs: - update + # Traefik Custom Resource Definitions (CRDs) + - apiGroups: + - traefik.io + resources: + - ingressroutes + - ingressroutetcps + - ingressrouteudps + - middlewares + - middlewaretcps + - tlsoptions + - tlsstores + - traefikservices + - serverstransports + - serverstransporttcps + verbs: + - get + - list + - watch + # Kubernetes Gateway API + - apiGroups: + - gateway.networking.k8s.io + resources: + - gatewayclasses + - gateways + - httproutes + - grpcroutes + - tcproutes + - tlsroutes + verbs: + - get + - list + - watch + - apiGroups: + - gateway.networking.k8s.io + resources: + - gatewayclasses/status + - gateways/status + - httproutes/status + - grpcroutes/status + - tcproutes/status + - tlsroutes/status + verbs: + - update From 2851325983d864409d3dc2e4b2c8e3dffc74b8c4 Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 28 Nov 2025 09:43:09 +0100 Subject: [PATCH 09/11] Update spring-cloud.version to 2025.1.0 --- kubernetes/apps/spring-boot-admin-discoveryclient/pom.xml | 2 +- kubernetes/apps/spring-boot-admin-fabric8/pom.xml | 2 +- kubernetes/apps/spring-boot-admin-kubernetes/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/kubernetes/apps/spring-boot-admin-discoveryclient/pom.xml b/kubernetes/apps/spring-boot-admin-discoveryclient/pom.xml index 99aa6d5..0b783ca 100644 --- a/kubernetes/apps/spring-boot-admin-discoveryclient/pom.xml +++ b/kubernetes/apps/spring-boot-admin-discoveryclient/pom.xml @@ -21,7 +21,7 @@ 17 UTF-8 4.0.0-M1 - 2025.1.0-RC1 + 2025.1.0 diff --git a/kubernetes/apps/spring-boot-admin-fabric8/pom.xml b/kubernetes/apps/spring-boot-admin-fabric8/pom.xml index e6c16ac..bf4cb76 100644 --- a/kubernetes/apps/spring-boot-admin-fabric8/pom.xml +++ b/kubernetes/apps/spring-boot-admin-fabric8/pom.xml @@ -21,7 +21,7 @@ 17 UTF-8 4.0.0-M1 - 2025.1.0-RC1 + 2025.1.0 diff --git a/kubernetes/apps/spring-boot-admin-kubernetes/pom.xml b/kubernetes/apps/spring-boot-admin-kubernetes/pom.xml index 2dd17a2..066a927 100644 --- a/kubernetes/apps/spring-boot-admin-kubernetes/pom.xml +++ b/kubernetes/apps/spring-boot-admin-kubernetes/pom.xml @@ -21,7 +21,7 @@ 17 UTF-8 4.0.0-M1 - 2025.1.0-RC1 + 2025.1.0 From 2fcc3936eae1cc06edb2459cfef582fd57367d9f Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 28 Nov 2025 13:21:25 +0100 Subject: [PATCH 10/11] Add namespace support and update Helm install commands in deployment files --- .../spring-cloud-kubernetes-discoveryserver/README.md | 2 +- .../templates/role-binding.yaml | 3 ++- kubernetes/helm-charts/traefik/README.md | 2 +- kubernetes/helm-charts/traefik/templates/deployment.yaml | 3 ++- kubernetes/helm-charts/traefik/templates/role-binding.yaml | 2 +- kubernetes/helm-charts/traefik/templates/service.yaml | 2 ++ kubernetes/helm-charts/traefik/values.yaml | 4 ++++ 7 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 kubernetes/helm-charts/traefik/values.yaml diff --git a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/README.md b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/README.md index 71bc6c4..51a99a1 100644 --- a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/README.md +++ b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/README.md @@ -6,7 +6,7 @@ https://docs.spring.io/spring-cloud-kubernetes/reference/spring-cloud-kubernetes ## Install Spring Cloud Kubernetes Discovery Server ```bash -helm upgrade --install spring-cloud-kubernetes-discoveryserver . +helm upgrade --install spring-cloud-kubernetes-discoveryserver . -f values.yaml ``` ### Check deployment diff --git a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/templates/role-binding.yaml b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/templates/role-binding.yaml index 3ae9b68..c98f2bb 100644 --- a/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/templates/role-binding.yaml +++ b/kubernetes/helm-charts/spring-cloud-kubernetes-discoveryserver/templates/role-binding.yaml @@ -10,4 +10,5 @@ roleRef: name: namespace-reader subjects: - kind: ServiceAccount - name: spring-cloud-kubernetes-discoveryserver \ No newline at end of file + name: spring-cloud-kubernetes-discoveryserver + namespace: {{ .Values.namespace }} diff --git a/kubernetes/helm-charts/traefik/README.md b/kubernetes/helm-charts/traefik/README.md index 48548f0..83a0efa 100644 --- a/kubernetes/helm-charts/traefik/README.md +++ b/kubernetes/helm-charts/traefik/README.md @@ -6,7 +6,7 @@ https://doc.traefik.io/traefik/getting-started/quick-start-with-kubernetes/ ## Install Traefik ```bash -helm upgrade --install traefik . +helm upgrade --install traefik . -f values.yaml ``` ### Check deployment diff --git a/kubernetes/helm-charts/traefik/templates/deployment.yaml b/kubernetes/helm-charts/traefik/templates/deployment.yaml index 75dfe3f..018827c 100644 --- a/kubernetes/helm-charts/traefik/templates/deployment.yaml +++ b/kubernetes/helm-charts/traefik/templates/deployment.yaml @@ -2,6 +2,7 @@ kind: Deployment apiVersion: apps/v1 metadata: name: traefik-deployment + namespace: {{ .Values.namespace }} labels: app: traefik @@ -18,7 +19,7 @@ spec: serviceAccountName: traefik-account containers: - name: traefik - image: traefik:3 + image: {{ .Values.deployment.image }} args: - --api.insecure - --providers.kubernetesingress diff --git a/kubernetes/helm-charts/traefik/templates/role-binding.yaml b/kubernetes/helm-charts/traefik/templates/role-binding.yaml index eba0438..b8e2192 100644 --- a/kubernetes/helm-charts/traefik/templates/role-binding.yaml +++ b/kubernetes/helm-charts/traefik/templates/role-binding.yaml @@ -10,4 +10,4 @@ roleRef: subjects: - kind: ServiceAccount name: traefik-account - namespace: default # Using "default" because we did not specify a namespace when creating the ClusterAccount. + namespace: {{ .Values.namespace }} diff --git a/kubernetes/helm-charts/traefik/templates/service.yaml b/kubernetes/helm-charts/traefik/templates/service.yaml index 1860f5b..c1564f6 100644 --- a/kubernetes/helm-charts/traefik/templates/service.yaml +++ b/kubernetes/helm-charts/traefik/templates/service.yaml @@ -2,6 +2,7 @@ apiVersion: v1 kind: Service metadata: name: traefik-dashboard-service + namespace: {{ .Values.namespace }} spec: type: LoadBalancer @@ -15,6 +16,7 @@ apiVersion: v1 kind: Service metadata: name: traefik-web-service + namespace: {{ .Values.namespace }} spec: type: LoadBalancer diff --git a/kubernetes/helm-charts/traefik/values.yaml b/kubernetes/helm-charts/traefik/values.yaml new file mode 100644 index 0000000..3b97bca --- /dev/null +++ b/kubernetes/helm-charts/traefik/values.yaml @@ -0,0 +1,4 @@ +namespace: default + +deployment: + image: traefik:3 From d5de238668a820a7094fc6043ba5b381bb24dc5c Mon Sep 17 00:00:00 2001 From: Andreas Fritz Date: Fri, 28 Nov 2025 14:04:33 +0100 Subject: [PATCH 11/11] Remove Traefik and Gateway API CRDs from role.yaml --- .../helm-charts/traefik/templates/role.yaml | 43 ------------------- 1 file changed, 43 deletions(-) diff --git a/kubernetes/helm-charts/traefik/templates/role.yaml b/kubernetes/helm-charts/traefik/templates/role.yaml index 7d39bd8..e23bf64 100644 --- a/kubernetes/helm-charts/traefik/templates/role.yaml +++ b/kubernetes/helm-charts/traefik/templates/role.yaml @@ -41,46 +41,3 @@ rules: - ingresses/status verbs: - update - # Traefik Custom Resource Definitions (CRDs) - - apiGroups: - - traefik.io - resources: - - ingressroutes - - ingressroutetcps - - ingressrouteudps - - middlewares - - middlewaretcps - - tlsoptions - - tlsstores - - traefikservices - - serverstransports - - serverstransporttcps - verbs: - - get - - list - - watch - # Kubernetes Gateway API - - apiGroups: - - gateway.networking.k8s.io - resources: - - gatewayclasses - - gateways - - httproutes - - grpcroutes - - tcproutes - - tlsroutes - verbs: - - get - - list - - watch - - apiGroups: - - gateway.networking.k8s.io - resources: - - gatewayclasses/status - - gateways/status - - httproutes/status - - grpcroutes/status - - tcproutes/status - - tlsroutes/status - verbs: - - update