我正在尝试使用Openshift在线发布我的仓库中的一些代码。 我的构建编译良好,但部署失败:
error: update acceptor rejected nodejs-mongo-persistent-7: pods for rc "nodejs-mongo-persistent-7" took longer than 600 seconds to become ready
查看事件监视器,我看到了这些错误:
Liveness probe failed: Get http://10.129.127.123:8080/pagecount: dial tcp 10.129.127.123:8080: getsockopt: connection refused
Readiness probe failed: Get http://10.129.127.123:8080/pagecount: dial tcp 10.129.127.123:8080: getsockopt: connection refused
此错误大约发生50次,直到所有内容超时并且我的吊舱被杀死。
我不是一个真正的服务器人,之前从未使用过环境,所以大多数帮助资源我都不明白。
以下是事件日志的屏幕截图: http://imgur.com/a/yv3fA
From : $ sudo docker pull registry/nodejs-mongo-persistent:latest
architecture=x86_64
authoritative-source-url=registry.access.redhat.com
build-date=2017-04-21T09:41:19.146364
com.redhat.build-host=ip-10-29-120-133.ec2.internal
com.redhat.component=rh-nodejs4-docker
com.redhat.deployments-dir=/opt/app-root/src
com.redhat.dev-mode=DEV_MODE:false
com.redhat.dev-mode.port=DEBUG_PORT:5858
distribution-scope=public
io.k8s.description=Platform for building and running Node.js 4 applications
io.k8s.display-name=springstead-portfolio/nodejs-mongo-persistent-8:ff0aacc1
io.openshift.build.commit.author=Shawn Springstead <stang90@gmail.com>
io.openshift.build.commit.date=Mon Jun 19 15:35:17 2017 -0400
io.openshift.build.commit.id=409c93610f0b2b264c84429106dc8bbcf0f3fee0
io.openshift.build.commit.message=correct server info
io.openshift.build.commit.ref=master
io.openshift.build.image=registry.access.redhat.com/rhscl/nodejs-4-rhel7@sha256:c5b21dc08cf5da8b6b0485147d946d8202f2be211c17bcef3a0fc26570217dd3
io.openshift.build.source-location=https://github.com/SpringsTea/Big-Mac-Index
io.openshift.expose-services=8080:http
io.openshift.s2i.scripts-url=image:///usr/libexec/s2i
io.openshift.tags=builder,nodejs,nodejs4
io.s2i.scripts-url=image:///usr/libexec/s2i
release=11.16
summary=Platform for building and running Node.js 4 applications
vcs-ref=e688e26c75b1418982bef6a87b9bbacd6d47604c
vcs-type=git
vendor=Red Hat, Inc.
version=4
答案 0 :(得分:1)
首先,你的Pod暴露了Liveness和Readiness探针需要的端口,这在Pod配置中完成。
活动探测由kubelet执行,因此所有请求都在kubelet网络命名空间中进行。
请确保不要在服务端口上运行探测,而是运行本地端口。