Openshift 3,503错误(没有服务器可用于处理此请求)

时间:2017-04-09 13:10:59

标签: openshift openshift-origin apache-tiles openshift-client-tools openshift-cartridge

我使用jsp / tiles / struts / mysql / tomcat创建了一个Web应用程序。我在Openshift 3控制台上创建了新项目(Openshift online)https://console.preview.openshift.com/console/然后添加了tomcat / mySql。我有时会得到503错误,其他时间,同一页面按预期工作。从我的项目中的任何页面随机出现503错误。当我收到503错误时,我刷新了一些时间并且它消失了,我的页面正确显示。

我看到的错误是: “503服务不可用 没有服务器可用于处理此请求。 “

我做了一些研究: 我从这个openshift 2链接中了解到的内容: https://blog.openshift.com/how-to-host-your-java-ee-application-with-auto-scaling/

是纠正503错误:

SSH into your application gear using rhc ssh --app <app_name>
Change directory to haproxy/conf
change the following in haproxy.cfg option httpchk GET / to option httpchk GET /api/v1/ping
Restart the HAProxy cartridge from your local machine using RHC rhc cartridge-restart --cartridge haproxy

我不知道它是否也适用于openshift 3.在openshift 3中,haproxy.log,haproxy.cfg,haproxy / conf或者它在openshift 3中略有不同。(Nut感谢Warrens的评论,是的,他看到了503与HAProxy相关的openshift中的错误)

发布此问题后1周后: 我收到配额到达错误。我能够构建我的项目,但所有部署都失败了。我想知道我之前得到的503错误(完全或部分)是否与达到的配额有关。我现在该怎么办。

curl -i localhost:8080 / GEA

HTTP/1.1 302 Found Server: 
Apache-Coyote/1.1 
Location: http://localhost:8080/GEA/ 
Transfer-Encoding: chunked Date: Tue, 11 Apr 2017 18:03:25 GMT

Tomcat日志不会显示任何应用程序错误。

准备探针和活力探测器会帮助我吗?我还没有设置它们。 我也不知道如何设置它们。

缩放会帮助我(我不知道如何设置它)

我是否必须设置内存/ ...所有最大允许以确保项目运行顺利?

1 个答案:

答案 0 :(得分:0)

对我来说,我有类似的情况,有时会得到503,有时会得到我的实际页面。原因是因为你在处理请求的前端有haproxy。根据您的设置,您甚至可能会有一些haproxy pod,您的请求可以在其中一个pod之间进行。因此在我的情况下,一个吊舱正在工作而另一个没有。

所以基本上

oc get pods -n default
NAME                            READY     STATUS    RESTARTS   AGE
docker-registry-7-i02rh         1/1       Running   0          75d
registry-console-12-wciib       1/1       Running   0          67d
router-1-533cg                  1/1       Running   3          76d
router-1-9utld                  1/1       Running   1          76d
router-1-uwf64                  1/1       Running   1          76d

正如您在我的输出中看到的,默认命名空间是我的路由器(haproxy)pod所在的位置。如果我更改为该命名空间

oc project default

然后运行

oc logs -f router-1-533cg

在每个豆荚上,您很可能会发现一个表现不佳的特殊豆荚。您可以简单地删除,复制控制器将创建一个新的