I have setup my web application and I saw my POD was successfully deployed, I have created HTTPS and HTTP route of the service. But when I hit the API, it gives sometime success or sometime 503 status code.
I do not see any issue in the POD and also I have setup health check.
Could anyone help me to resolve this issue.
POD Image :- jboss-webserver31-tomcat8-openshift:1.2
FYI- Right now I am using free version of the OpenShift.
Thanks,
Shailendra Soni
Related
I deployed a Flask app to AWS ECS instance but when the app is run, it shows "502 Bad Gateway". When I check the console, it says "Failed to load resource: the server responded with a status of 502 (Bad Gateway)" for favicon.ico. But the thing is I haven't added favicon in my html file.
enter image description here
What might be the issue here?
I was trying to deploy an ML model. I dockeried the app and deployed it as an AWS ECS service. Thats when this issue occured.
I am trying to setup an ingress-controller to a EKS cluster. I followed the nginx guide to deploy the nginx controller.
https://docs.nginx.com/nginx-ingress-controller/installation/installation-with-manifests/
But the nginx ingress configuration file is not considering the "service ips" in the "upstream".
enter image description here
Any help!
Thanks in advance
After 2 days of debugging, I found the issue.
The "nginx-ingress" is unable to identify the "upstream service". Because the endpoint service is unable to locate the "App" due to "app" label was wrong.
It looks a silly manual mistake, but the debugging is not straight forward.
If anyone has similar issue, please try to debug with reference of below points:-
execute the "nginx-ingress" with logs enabled (v3)
Find the list of endpoints in the cluster.
If your upstream, showing a valid point then look the "nginx-ingress.conf"
If not, address the service endpoint issue first.
I am using openshift 4.5. I used service and routes and it is externally accessible. Application is working fine, but sometimes i am getting 502 error.
I am using ingress haproxy route.
Appreciate your thoughts on resolving this issue.
I am attempting to use purely https with my compute engine. I have a network load balancer created that forwards to a pool with my instance in it. However, the pool has constantly failing health checks because it won't let me configure a health check that uses https.
I'm using apache to redirect 80 to 443. Does anyone know how to either create an https health check or have the http health check follow the redirect?
Thanks for any help.
--edit--
I finally came across some documentation at http://googlecloudplatform.blogspot.com/2015/07/Debugging-Health-Checks-in-Load-Balancing-on-Google-Compute-Engine.html.
Failure 5: Not answering directly with a 200 response code The web server may be configured to redirect to a page that returns an HTTP 200 response code. The health check will not follow the redirect; it expects the health check page to return a 200 directly.
This basic capability has been supported at every other hosting provider we've been on. Why can't this be done? What am I missing?
I spent the whole day trying to configure a purely https based load balancer in GCloud for a Kubernetes cluster with an ingress controller.
I finally got it working, so maybe I share my experience with people that struggle with the same configuration. If the health-check fails for the instances you will usually see the following accessing your websites URL.
Error: Server Error
The server encountered a temporary error and could not complete your request.
Please try again in 30 seconds.
1) Protocol: GCloud introduced new health checks which can be configured for HTTPS, SSLTCP, SSL, HTTP, HTTPS, or HTTP/2 probing. This can help the original problem to prevent a redirect from port 80 to port 443.
2) Path: The most common issue is a that the "/" path of your application will not return a 200 OK and thus let the health issue fail. This can be prevented by adding a path argument to your health check e.g. "/index".
3) Ingress HTTPS: This is relatively simple. Adding a secret or a pre-shared-cert to your ingress.yaml will automatically result in an HTTPS Load Balancer instead of HTTP. Further information to follow are here
Lastly, the guide from the docs for Setting up HTTP Load Balancing with Ingress .
However, even though the new HTTPS Health checks seem to work, they are still in the beta phase and bugs are reported in the issue tracker. The documentation for the gcloud-ingress-controller can be found here.
I am running a multisite instance of Locomotive CMS on a scalable Openshift cartridge.
The issue I am having is that haproxy sends GET requests to the root of each Apache instance, returning an erroneous 404, because no host is specified.
Locomotive works fine, but needs a host to each request, so it will serve the appropriate website.
How can I workaround this problem?
You can try sshing into your gear and modifying the ~/haproxy/haproxy.cfg to check a different url instead of / to make sure that your application is up and running.