0

I have a Pod that contains an image of a NodeJS project serving a build of vuejs (Manual SSR) And I have an ingress controller to match a host to the service connecting to the Pod as follows:

enter image description here

The Problem I'm facing is that static assets (CSS, JS and images) aren't served, so they need a "server" that handles these files.

I tried to have the Pod mounts two containers, NodeJS + Nginx container and copy the static file in Nginx /var/www/html and serve them from there using nginx location rule but it looks like an overkill to put that in production.

I'm curious how the best way to do this, maybe using Ingress controller rules/annotations? or some way that I am missing?

My Ingress controller looks like:

apiVersion: networking.k8s.io/v1beta1 kind: Ingress metadata: name: ingress-nginx annotations: kubernetes.io/ingress.class: "nginx" spec: rules: - host: test.ssr.local http: paths: - path: / backend: serviceName: service-internal-ssr servicePort: 8080 

My Deployment looks like:

apiVersion: apps/v1 kind: Deployment metadata: name: ssr spec: selector: matchLabels: app: ssr template: metadata: labels: app: ssr spec: - name: ssr image: ... resources: limits: cpu: 0.5 memory: 1000Mi requests: cpu: 0.2 memory: 500Mi ports: - name: app-port containerPort: 2055 --- apiVersion: v1 kind: Service metadata: name: service-internal-ssr spec: type: ClusterIP selector: app: ssr ports: - port: 8080 targetPort: 2055 

Thank you in advance

1 Answer 1

1

I would suggest serving your static content from something like a bucket or CDN, something as close to the client as possible that is better suited for this use case. Using K8s for this is overkill.

Sign up to request clarification or add additional context in comments.

1 Comment

I know its an overkill and it has too be done through a CDN, but for this PoC I have to use k8s to do that, because for now, I dont have the possibility to go through a CND, so it would be good to know how it is done :)

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.