harbur / kubernetic

Kubernetic - Supercharge your Kubernetes clusters
https://kubernetic.com
276 stars 26 forks source link

Epic fail: Your payment page is broken #299

Closed worldspawn closed 2 years ago

worldspawn commented 3 years ago

Wanted to organise a license for my colleague but...

Go here: https://www.kubernetic.com/payment/checkout

Click "Next". Nothing happens because...

Access to fetch at 'https://kubernetic-license-server-pro.pro.harbur.io/api/session' from origin 'https://www.kubernetic.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
VM6:1 POST https://kubernetic-license-server-pro.pro.harbur.io/api/session net::ERR_FAILED

How good is CORS? 😄

Be great if u could fix asap @dkapanidis

dominch commented 3 years ago

This problem is somehow related with session data, just clear everything from it and You will be able to finish payment. I also calculated amount for more licenses and had that problem, clearing browser data helped. Already have one license and waiting for new version to come to decide is it worth to introduce to other team members, current has many small bugs, that hope to be corrected in future releases :D

dkapanidis commented 3 years ago

Thanks for the feedback, very appreciated! Try again the payment checkout, it should work ok. This is an intermittent issue, that should be permanently fixed soon (see below explaination).

A little bit of background to the issue, this is not CORS, but an availability issue. The license-server is running on a kubernetes cluster, under GKE, but the cluster is marked to use preemptible nodes, which means the worker nodes are swapped every 24h, in the spirit of chaos engineering, but the worker nodes are not shut down gracefully, which leaves the system with some downtimes :(

I'll migrate to a no-preemtive node pool cluster soon the production license server to avoid these gaps. Hopefully this will fix issues such as this.

dkapanidis commented 2 years ago

closing as this was already fixed by moving the workload out of preemptive nodes to a Firebase Function.