From c585cba9b4cabd7225a3b929fa47568146e19fbc Mon Sep 17 00:00:00 2001 From: Steffen Vogel <post@steffenvogel.de> Date: Mon, 11 Nov 2019 23:58:58 +0100 Subject: [PATCH] kubernetes: yaml files for next-gen VILLASweb --- kubernetes/backend-go-deployment.yaml | 67 +++++++++++++++++++++++++ kubernetes/backend-go-service.yaml | 15 ++++++ kubernetes/frontend-new-deployment.yaml | 30 +++++++++++ kubernetes/frontend-new-service.yaml | 15 ++++++ kubernetes/ingress-new.yaml | 66 ++++++++++++++++++++++++ 5 files changed, 193 insertions(+) create mode 100644 kubernetes/backend-go-deployment.yaml create mode 100644 kubernetes/backend-go-service.yaml create mode 100644 kubernetes/frontend-new-deployment.yaml create mode 100644 kubernetes/frontend-new-service.yaml create mode 100644 kubernetes/ingress-new.yaml diff --git a/kubernetes/backend-go-deployment.yaml b/kubernetes/backend-go-deployment.yaml new file mode 100644 index 0000000..93b9ef2 --- /dev/null +++ b/kubernetes/backend-go-deployment.yaml @@ -0,0 +1,67 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: backend-go + app.kubernetes.io/part-of: villas-web + name: backend-go +spec: + selector: + matchLabels: + app.kubernetes.io/component: backend-go + app.kubernetes.io/part-of: villas-web + template: + metadata: + labels: + app.kubernetes.io/component: backend-go + app.kubernetes.io/part-of: villas-web + spec: + nodeSelector: + kubernetes.io/hostname: kubernetes-worker-7 + imagePullSecrets: + - name: stvogel-rwth-pull-secret + containers: + - name: backend-go + image: registry.git.rwth-aachen.de/acs/public/villas/web-backend-go:latest + command: [ "villasweb-backend" ] + args: [ + "-dbname", "villas", + "-dbhost", "postgres-postgresql.services", + "-dbuser", "$(POSTGRES_USERNAME)", + "-dbpass", "$(POSTGRES_PASSWORD)", + "-amqp", "$(AMQP_URL)", + ] + env: + - name: GIN_MODE + value: release + - name: RABBITMQ_USERNAME + valueFrom: + secretKeyRef: + name: rabbitmq-credentials + key: username + - name: RABBITMQ_PASSWORD + valueFrom: + secretKeyRef: + name: rabbitmq-credentials + key: password + - name: POSTGRES_USERNAME + valueFrom: + secretKeyRef: + name: postgres-credentials + key: username + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: postgres-credentials + key: password + - name: AMQP_URL + value: amqp://$(RABBITMQ_USERNAME):$(RABBITMQ_PASSWORD)@broker/%2F + # livenessProbe: + # httpGet: + # path: /api/v2 + # port: 4000 + # initialDelaySeconds: 3 + # periodSeconds: 3 + ports: + - name: http + containerPort: 4000 diff --git a/kubernetes/backend-go-service.yaml b/kubernetes/backend-go-service.yaml new file mode 100644 index 0000000..fce321a --- /dev/null +++ b/kubernetes/backend-go-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: backend-go + app.kubernetes.io/part-of: villas-web + name: backend-go +spec: + ports: + - name: http + port: 4000 + targetPort: 4000 + selector: + app.kubernetes.io/component: backend-go + app.kubernetes.io/part-of: villas-web diff --git a/kubernetes/frontend-new-deployment.yaml b/kubernetes/frontend-new-deployment.yaml new file mode 100644 index 0000000..2e05097 --- /dev/null +++ b/kubernetes/frontend-new-deployment.yaml @@ -0,0 +1,30 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/component: frontend-new + app.kubernetes.io/part-of: villas-web + name: frontend-new +spec: + selector: + matchLabels: + app.kubernetes.io/component: frontend-new + app.kubernetes.io/part-of: villas-web + template: + metadata: + labels: + app.kubernetes.io/component: frontend-new + app.kubernetes.io/part-of: villas-web + spec: + containers: + - image: registry.git.rwth-aachen.de/acs/public/villas/web:latest + name: frontend-new + ports: + - name: http + containerPort: 80 + livenessProbe: + httpGet: + path: / + port: 80 + initialDelaySeconds: 3 + periodSeconds: 3 diff --git a/kubernetes/frontend-new-service.yaml b/kubernetes/frontend-new-service.yaml new file mode 100644 index 0000000..58676f9 --- /dev/null +++ b/kubernetes/frontend-new-service.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/component: frontend-new + app.kubernetes.io/part-of: villas-web + name: frontend-new +spec: + ports: + - name: http + port: 80 + targetPort: 80 + selector: + app.kubernetes.io/component: frontend-new + app.kubernetes.io/part-of: villas-web diff --git a/kubernetes/ingress-new.yaml b/kubernetes/ingress-new.yaml new file mode 100644 index 0000000..a6aa39e --- /dev/null +++ b/kubernetes/ingress-new.yaml @@ -0,0 +1,66 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: demo-new + labels: + app.kubernetes.io/part-of: villas-web + annotations: + kubernetes.io/ingress.class: nginx + certmanager.k8s.io/cluster-issuer: letsencrypt-prod + eonerc.rwth-aachen.de/description: VILLASweb + eonerc.rwth-aachen.de/link: https://git.rwth-aachen.de/acs/public/villas/VILLASweb +spec: + tls: + - hosts: + - villas-new.k8s.fein-aachen.org + secretName: letsencrypt-prod-villas-demo-new + rules: + - host: villas-new.k8s.fein-aachen.org + http: + paths: + - path: / + backend: + serviceName: frontend-new + servicePort: http + - path: /api/ + backend: + serviceName: backend-new + servicePort: 4000 + - path: /rabbitmq/ + backend: + serviceName: broker + servicePort: web-admin +--- +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: demo-rewrite-new + labels: + app.kubernetes.io/part-of: villas-web + annotations: + kubernetes.io/ingress.class: nginx + certmanager.k8s.io/cluster-issuer: letsencrypt-prod + eonerc.rwth-aachen.de/description: VILLASweb + eonerc.rwth-aachen.de/link: https://git.rwth-aachen.de/acs/public/villas/VILLASweb + nginx.ingress.kubernetes.io/rewrite-target: /$2 +spec: + tls: + - hosts: + - villas-new.k8s.fein-aachen.org + secretName: letsencrypt-prod-villas-demo-new + rules: + - host: villas-new.k8s.fein-aachen.org + http: + paths: + - path: /ws/relay(/|$)(.*) + backend: + serviceName: relay + servicePort: http + - path: /ws(/|$)(.*) + backend: + serviceName: node + servicePort: http + - path: /mockup(/|$)(.*) + backend: + serviceName: node + servicePort: http -- GitLab