Issue implementing Dhis2 in Kubernetes

Hi, I am implementing Dhis2 using the Google Cloud Kubernetes Engine and deploying there the dockerised version present in Docker Hub. Athough Dhis2 is already up and working correctly the main issue is when working with dinamic pods. For instance, when increasing the number of pods over 1 there are MIME errors

The resource “dhis-web-commons/security/login.action” was blocked by MIME type difference (“text/html”) (X-Content-Type-Options: nosniff).

This is an example with Firefox but simile errors are being observed with any browser. This doesn´t happen when there is only one pod running

BTW I am using Dhis2 core 2.39.1.1 and Postgres with Postgis 14.3.1

Thanks in advance for the help

Cheers from Chile!

Felipe

2 Likes

Hello Felipe,

I’m not sure if this is related to the issue your facing. But do you have sticky sessions enabled on your ingress controller? Have you gone over this? Specifically a Redis server is required for the sake of share session state between the two instances.

Best regards,
Andreas

2 Likes

Hi Andreas,

We are working in a similar solution, since pods change dinamically regarding demand and multiple IPs can serve the same site or handle (sometimes) the requests at the same time for a same user we were thinking that something like that could be the solution.

Even though Redis is a good solution for having a shared cache for all users, we are looking for something a bit more dinamic in order to exploit the full potential of Kubernetes and have a Dhis2 platform that could handle really large quantities of users, massive amounts of information and allow simoultaneous data transfer in a efective way

Maybe we could share our insights in this same thread for the community to analyse, evaluate and implement

Best regards

Felipe

Hi Felipe,

That sounds very interesting! I understand you’ll be having a meeting with some of my colleagues. Sadly I won’t be joining since it’s in the middle of the night where I’m living. But don’t hesitate reaching out if there’s a need in the future.

Best regards,
Andreas