From 0e9f677408924843fe65e5a08596641d04dbe8e3 Mon Sep 17 00:00:00 2001 From: Chris Kaczor Date: Thu, 30 Mar 2023 13:48:25 -0400 Subject: [PATCH] Update ingress to traefik v2 --- DeviceStatus/Service/deploy/manifest.yaml | 43 +++++++++++++-------- Display/deploy/manifest.yaml | 45 ++++++++++++---------- Hub/Service/deploy/manifest.yaml | 46 +++++++++++++---------- Power/Service/deploy/manifest.yaml | 43 +++++++++++++-------- Weather/Service/deploy/manifest.yaml | 43 +++++++++++++-------- 5 files changed, 134 insertions(+), 86 deletions(-) diff --git a/DeviceStatus/Service/deploy/manifest.yaml b/DeviceStatus/Service/deploy/manifest.yaml index 6fea20a..220d1c8 100644 --- a/DeviceStatus/Service/deploy/manifest.yaml +++ b/DeviceStatus/Service/deploy/manifest.yaml @@ -68,23 +68,34 @@ spec: app: device-status-service type: LoadBalancer --- -kind: Ingress -apiVersion: networking.k8s.io/v1 +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute metadata: - name: device-status - namespace: home-monitor annotations: kubernetes.io/ingress.class: traefik - nginx.ingress.kubernetes.io/ssl-redirect: 'false' - traefik.frontend.rule.type: PathPrefixStrip + creationTimestamp: null + name: device-status + namespace: home-monitor spec: - rules: - - http: - paths: - - path: "/api/device-status" - pathType: ImplementationSpecific - backend: - service: - name: device-status-service - port: - number: 80 \ No newline at end of file + routes: + - kind: Rule + match: PathPrefix(`/api/device-status`) + middlewares: + - name: api-device-status + namespace: home-monitor + services: + - kind: Service + name: device-status-service + namespace: home-monitor + port: 80 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + creationTimestamp: null + name: api-device-status + namespace: home-monitor +spec: + stripPrefix: + prefixes: + - /api/device-status diff --git a/Display/deploy/manifest.yaml b/Display/deploy/manifest.yaml index 497c8f5..c4a5841 100644 --- a/Display/deploy/manifest.yaml +++ b/Display/deploy/manifest.yaml @@ -43,26 +43,33 @@ spec: app: display type: ClusterIP --- -kind: Ingress -apiVersion: networking.k8s.io/v1 +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute metadata: - name: display - namespace: home-monitor annotations: kubernetes.io/ingress.class: traefik - nginx.ingress.kubernetes.io/affinity: cookie - nginx.ingress.kubernetes.io/session-cookie-hash: sha1 - nginx.ingress.kubernetes.io/session-cookie-name: REALTIMESERVERID - nginx.ingress.kubernetes.io/ssl-redirect: 'false' - traefik.frontend.rule.type: PathPrefixStrip + creationTimestamp: null + name: display + namespace: home-monitor spec: - rules: - - http: - paths: - - path: "/" - pathType: ImplementationSpecific - backend: - service: - name: display - port: - number: 80 + routes: + - kind: Rule + match: PathPrefix(`/`) + middlewares: + - name: "" + namespace: home-monitor + services: + - kind: Service + name: display + namespace: home-monitor + port: 80 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + creationTimestamp: null + namespace: home-monitor +spec: + stripPrefix: + prefixes: + - / diff --git a/Hub/Service/deploy/manifest.yaml b/Hub/Service/deploy/manifest.yaml index 1ac93ca..e90c3b0 100644 --- a/Hub/Service/deploy/manifest.yaml +++ b/Hub/Service/deploy/manifest.yaml @@ -43,26 +43,34 @@ spec: app: hub-service type: ClusterIP --- -kind: Ingress -apiVersion: networking.k8s.io/v1 +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute metadata: - name: hub - namespace: home-monitor annotations: kubernetes.io/ingress.class: traefik - nginx.ingress.kubernetes.io/affinity: cookie - nginx.ingress.kubernetes.io/session-cookie-hash: sha1 - nginx.ingress.kubernetes.io/session-cookie-name: REALTIMESERVERID - nginx.ingress.kubernetes.io/ssl-redirect: 'false' - traefik.frontend.rule.type: PathPrefixStrip + creationTimestamp: null + name: hub + namespace: home-monitor spec: - rules: - - http: - paths: - - path: "/api/hub" - pathType: ImplementationSpecific - backend: - service: - name: hub-service - port: - number: 80 \ No newline at end of file + routes: + - kind: Rule + match: PathPrefix(`/api/hub`) + middlewares: + - name: api-hub + namespace: home-monitor + services: + - kind: Service + name: hub-service + namespace: home-monitor + port: 80 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + creationTimestamp: null + name: api-hub + namespace: home-monitor +spec: + stripPrefix: + prefixes: + - /api/hub diff --git a/Power/Service/deploy/manifest.yaml b/Power/Service/deploy/manifest.yaml index 88d5b27..9b13961 100644 --- a/Power/Service/deploy/manifest.yaml +++ b/Power/Service/deploy/manifest.yaml @@ -142,23 +142,34 @@ spec: app: power-service type: ClusterIP --- -kind: Ingress -apiVersion: networking.k8s.io/v1 +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute metadata: - name: power - namespace: home-monitor annotations: kubernetes.io/ingress.class: traefik - nginx.ingress.kubernetes.io/ssl-redirect: 'false' - traefik.frontend.rule.type: PathPrefixStrip + creationTimestamp: null + name: power + namespace: home-monitor spec: - rules: - - http: - paths: - - path: "/api/power" - pathType: ImplementationSpecific - backend: - service: - name: power-service - port: - number: 80 \ No newline at end of file + routes: + - kind: Rule + match: PathPrefix(`/api/power`) + middlewares: + - name: api-power + namespace: home-monitor + services: + - kind: Service + name: power-service + namespace: home-monitor + port: 80 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + creationTimestamp: null + name: api-power + namespace: home-monitor +spec: + stripPrefix: + prefixes: + - /api/power diff --git a/Weather/Service/deploy/manifest.yaml b/Weather/Service/deploy/manifest.yaml index de7cdc9..5e787cb 100644 --- a/Weather/Service/deploy/manifest.yaml +++ b/Weather/Service/deploy/manifest.yaml @@ -137,23 +137,34 @@ spec: app: weather-service type: ClusterIP --- -kind: Ingress -apiVersion: networking.k8s.io/v1 +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute metadata: - name: weather - namespace: home-monitor annotations: kubernetes.io/ingress.class: traefik - nginx.ingress.kubernetes.io/ssl-redirect: 'false' - traefik.frontend.rule.type: PathPrefixStrip + creationTimestamp: null + name: weather + namespace: home-monitor spec: - rules: - - http: - paths: - - path: "/api/weather" - pathType: ImplementationSpecific - backend: - service: - name: weather-service - port: - number: 80 \ No newline at end of file + routes: + - kind: Rule + match: PathPrefix(`/api/weather`) + middlewares: + - name: api-weather + namespace: home-monitor + services: + - kind: Service + name: weather-service + namespace: home-monitor + port: 80 +--- +apiVersion: traefik.containo.us/v1alpha1 +kind: Middleware +metadata: + creationTimestamp: null + name: api-weather + namespace: home-monitor +spec: + stripPrefix: + prefixes: + - /api/weather