From 4d30f7990065703e8a5f2fd38cb8916964a8c707 Mon Sep 17 00:00:00 2001 From: Tobias Eidelpes Date: Wed, 16 Jun 2021 22:21:15 +0200 Subject: [PATCH] Configure nginx ingress and routing --- components/control_center/Dockerfile | 2 +- .../src/app/services/rest.service.ts | 2 +- .../src/environments/environment.prod.ts | 3 +-- .../src/environments/environment.ts | 3 +-- kubernetes/ingress/dse2021-ingress.yaml | 27 ++++++++++++++----- .../services/controlcenter-service.yaml | 4 +-- kubernetes/services/xway-service.yaml | 1 + 7 files changed, 27 insertions(+), 15 deletions(-) diff --git a/components/control_center/Dockerfile b/components/control_center/Dockerfile index 0ce477b..5d1e95a 100644 --- a/components/control_center/Dockerfile +++ b/components/control_center/Dockerfile @@ -6,7 +6,7 @@ WORKDIR /app COPY . . -RUN npm ci && npm run build +RUN npm ci && npm run build -- --configuration=production # Stage 2 diff --git a/components/control_center/src/app/services/rest.service.ts b/components/control_center/src/app/services/rest.service.ts index 1ea55ab..54033d2 100644 --- a/components/control_center/src/app/services/rest.service.ts +++ b/components/control_center/src/app/services/rest.service.ts @@ -5,7 +5,7 @@ import {environment} from '../../environments/environment'; @Injectable() export class RestService { - private currentLocation = 'http://' + environment.location + ':' + environment.port + '/api/v1/resources/'; + private currentLocation = environment.location + '/api/v1/resources/'; constructor( private logger: NGXLogger, diff --git a/components/control_center/src/environments/environment.prod.ts b/components/control_center/src/environments/environment.prod.ts index 69acba3..3da26b9 100644 --- a/components/control_center/src/environments/environment.prod.ts +++ b/components/control_center/src/environments/environment.prod.ts @@ -2,7 +2,6 @@ import {NgxLoggerLevel} from 'ngx-logger'; export const environment = { production: true, - location: 'xway', - port: 5004, + location: '/xway', log_level: NgxLoggerLevel.WARN, }; diff --git a/components/control_center/src/environments/environment.ts b/components/control_center/src/environments/environment.ts index 81fa12d..2dbd14f 100644 --- a/components/control_center/src/environments/environment.ts +++ b/components/control_center/src/environments/environment.ts @@ -6,8 +6,7 @@ import {NgxLoggerLevel} from 'ngx-logger'; export const environment = { production: false, - location: 'xway', - port: 5004, + location: 'http://xway:5004', log_level: NgxLoggerLevel.DEBUG, }; diff --git a/kubernetes/ingress/dse2021-ingress.yaml b/kubernetes/ingress/dse2021-ingress.yaml index f4bb409..f8851d7 100644 --- a/kubernetes/ingress/dse2021-ingress.yaml +++ b/kubernetes/ingress/dse2021-ingress.yaml @@ -2,11 +2,26 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: dse2021-ingress + annotations: + kubernetes.io/ingress.class: "nginx" + nginx.ingress.kubernetes.io/add-base-url: "true" + nginx.ingress.kubernetes.io/rewrite-target: /$1 + nginx.ingress.kubernetes.io/service-upstream: "true" spec: rules: - - host: - http: - paths: - - backend: - serviceName: controlcenter - servicePort: 80 \ No newline at end of file + - http: + paths: + - path: /(.+) + pathType: ImplementationSpecific + backend: + service: + name: controlcenter + port: + number: 80 + - path: /xway/(.+) + pathType: ImplementationSpecific + backend: + service: + name: xway + port: + number: 5004 diff --git a/kubernetes/services/controlcenter-service.yaml b/kubernetes/services/controlcenter-service.yaml index b02bedd..75a1c67 100644 --- a/kubernetes/services/controlcenter-service.yaml +++ b/kubernetes/services/controlcenter-service.yaml @@ -5,12 +5,10 @@ metadata: labels: app: controlcenter spec: + type: NodePort selector: app: controlcenter - type: LoadBalancer ports: - name: "80" port: 80 targetPort: 80 -status: - loadBalancer: {} diff --git a/kubernetes/services/xway-service.yaml b/kubernetes/services/xway-service.yaml index 2615240..b0f4b37 100644 --- a/kubernetes/services/xway-service.yaml +++ b/kubernetes/services/xway-service.yaml @@ -5,6 +5,7 @@ metadata: labels: app: xway spec: + type: NodePort selector: app: xway ports: