diff --git a/k8s/backend-deployment.yaml b/k8s/backend-deployment.yaml new file mode 100644 index 0000000..9398694 --- /dev/null +++ b/k8s/backend-deployment.yaml @@ -0,0 +1,27 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: pong-backend + labels: + app: pong-backend +spec: + replicas: 1 + selector: + matchLabels: + app: pong-backend + template: + metadata: + labels: + app: pong-backend + spec: + containers: + - name: queue-backend + image: benjamintf1/queue-backend:latest + imagePullPolicy: Always + ports: + - containerPort: 8080 + env: + - name: RESOURCE_COUNT + value: "2" + - name: PORT + value: "8080" diff --git a/k8s/backend-service.yaml b/k8s/backend-service.yaml new file mode 100644 index 0000000..e20cfb4 --- /dev/null +++ b/k8s/backend-service.yaml @@ -0,0 +1,16 @@ +kind: Service +apiVersion: v1 +metadata: + name: pong-backend + annotations: + cloud.google.com/app-protocols: '{"frontend":"HTTPS","frontend":"HTTP"}' + service.alpha.kubernetes.io/app-protocols: '{"frontend":"HTTPS","frontend":"HTTP"}' +spec: + type: NodePort + selector: + app: pong-backend + ports: + - name: backend + protocol: TCP + port: 8080 + targetPort: 8080 diff --git a/k8s/deployment.yml b/k8s/deployment.yml deleted file mode 100644 index 83e6da9..0000000 --- a/k8s/deployment.yml +++ /dev/null @@ -1,110 +0,0 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: pong-backend - labels: - app: pong-backend -spec: - replicas: 1 - selector: - matchLabels: - app: pong-backend - template: - metadata: - labels: - app: pong-backend - spec: - containers: - - name: queue-backend - image: benjamintf1/queue-backend:latest - imagePullPolicy: Always - ports: - - containerPort: 8080 - env: - - name: RESOURCE_COUNT - value: "2" - - name: PORT - value: "8080" ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: pong-frontend - labels: - app: pong-frontend -spec: - replicas: 1 - selector: - matchLabels: - app: pong-frontend - template: - metadata: - labels: - app: pong-frontend - spec: - containers: - - name: queue-frontend - image: benjamintf1/queue-frontend:latest - imagePullPolicy: Always - ports: - - containerPort: 3000 - env: - - name: REACT_APP_SHOW_TIME_STARTED - value: "true" - - name: REACT_APP_HIGHLIGHT_TIME_STARTED_AFTER - value: "20" ---- -kind: Service -apiVersion: v1 -metadata: - name: pong-backend - annotations: - cloud.google.com/app-protocols: '{"frontend":"HTTPS","frontend":"HTTP"}' - service.alpha.kubernetes.io/app-protocols: '{"frontend":"HTTPS","frontend":"HTTP"}' -spec: - type: NodePort - selector: - app: pong-backend - ports: - - name: backend - protocol: TCP - port: 8080 - targetPort: 8080 ---- -kind: Service -apiVersion: v1 -metadata: - name: pong-frontend - annotations: - cloud.google.com/app-protocols: '{"frontend":"HTTPS","frontend":"HTTP"}' - service.alpha.kubernetes.io/app-protocols: '{"frontend":"HTTPS","frontend":"HTTP"}' -spec: - type: NodePort - selector: - app: pong-frontend - ports: - - name: frontend - protocol: TCP - port: 8080 - targetPort: 3000 ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: pong-ingress - annotations: - kubernetes.io/ingress.global-static-ip-name: pong-ip -spec: - tls: - - secretName: tls-secret - rules: - - http: - paths: - - path: /* - backend: - serviceName: pong-frontend - servicePort: 8080 - - path: /backend/* - backend: - serviceName: pong-backend - servicePort: 8080 diff --git a/k8s/frontend-deployment.yaml b/k8s/frontend-deployment.yaml new file mode 100644 index 0000000..9b80fad --- /dev/null +++ b/k8s/frontend-deployment.yaml @@ -0,0 +1,27 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: pong-frontend + labels: + app: pong-frontend +spec: + replicas: 1 + selector: + matchLabels: + app: pong-frontend + template: + metadata: + labels: + app: pong-frontend + spec: + containers: + - name: queue-frontend + image: benjamintf1/queue-frontend:latest + imagePullPolicy: Always + ports: + - containerPort: 3000 + env: + - name: REACT_APP_SHOW_TIME_STARTED + value: "true" + - name: REACT_APP_HIGHLIGHT_TIME_STARTED_AFTER + value: "20" diff --git a/k8s/frontend-service.yaml b/k8s/frontend-service.yaml new file mode 100644 index 0000000..511c9d7 --- /dev/null +++ b/k8s/frontend-service.yaml @@ -0,0 +1,16 @@ +kind: Service +apiVersion: v1 +metadata: + name: pong-frontend + annotations: + cloud.google.com/app-protocols: '{"frontend":"HTTPS","frontend":"HTTP"}' + service.alpha.kubernetes.io/app-protocols: '{"frontend":"HTTPS","frontend":"HTTP"}' +spec: + type: NodePort + selector: + app: pong-frontend + ports: + - name: frontend + protocol: TCP + port: 8080 + targetPort: 3000 diff --git a/k8s/ingress.yaml b/k8s/ingress.yaml new file mode 100644 index 0000000..63812a5 --- /dev/null +++ b/k8s/ingress.yaml @@ -0,0 +1,21 @@ +apiVersion: extensions/v1beta1 +kind: Ingress +metadata: + name: pong-ingress + annotations: + kubernetes.io/ingress.global-static-ip-name: pong-ip + kubernetes.io/ingress.allow-http: "false" +spec: + tls: + - secretName: tls-secret + rules: + - http: + paths: + - path: /* + backend: + serviceName: pong-frontend + servicePort: 8080 + - path: /backend/* + backend: + serviceName: pong-backend + servicePort: 8080