我将我的项目(node.js + mongodb)从Openshift v2切换到v3。此外,我在我的项目和Web控制台上使用Starter版本的v3进行所有配置。
将结果部署为失败状态,并显示以下错误:
--> Scaling tmo-9 to 1
error: update acceptor rejected tmo-9: pods for rc 'tmoolympus/tmo-9' took longer than 600 seconds to become available
Pod的日志:
Environment:
DEV_MODE=false
NODE_ENV=production
DEBUG_PORT=5858
Launching via npm...
npm info it worked if it ends with ok
npm info using npm@3.10.9
npm info using node@v6.11.3
npm info lifecycle TMOOLYMPUS@1.0.0~prestart: TMOOLYMPUS@1.0.0
npm info lifecycle TMOOLYMPUS@1.0.0~start: TMOOLYMPUS@1.0.0
> TMOOLYMPUS@1.0.0 start /opt/app-root/src
> node server.js
production
trying to connect..
after connect..
Initalizing db..
Checking roles..
in counter gen seq
in counter gen seq
Checking news category..
in counter gen seq
Fnished initalizing db..
tmoolympus is running, listening on 127.0.0.1:8080
all dirs donee
in counter gen seq
in counter gen seq
Checking admin user
in counter gen seq
[ { _id: 5a900dc3b52e58ddd9a57cac, roleid: 1, __v: 0 },
{ _id: 5a900dc3b52e58ddd9a57caf, roleid: 3, __v: 0 },
{ _id: 5a900dc3b52e58ddd9a57cb0, roleid: 4, __v: 0 } ]
Checking tmo team..
in counter gen seq
npm info lifecycle TMOOLYMPUS@1.0.0~poststart: TMOOLYMPUS@1.0.0
npm info ok
第二个日志显示服务器已启动并正在运行,但是应用程序不可用,它会在停止之前尝试重新部署几次 - The container nodejs-mongo-persistent is crashing frequently. It must wait before it will be restarted again.
。
问题:我的身边或Openshift v3有问题吗?
答案 0 :(得分:1)
有两个问题正在发生。首先,我假设您部署了nodejs-mongo-persistent
模板,该模板定义了readinessProbe
和livenessProbe
,它们会查找/pagecount
网址,并且在找到之前不会认为您的网站是健康的那个页面。我建议您删除这些探针,或者调整它们以查看代码库中的URL。
其次,您的应用程序似乎正在监听127.0.0.1
,这将不允许您的应用程序可从外部访问。鉴于这是基于v2,我建议在v3中创建一个环境变量OPENSHIFT_NODEJS_IP
,并将其设置为0.0.0.0
。在v3中不再需要这些环境变量,因为您可以将任何应用程序设置为0.0.0.0
并使其可访问(使用适当的路径)。