Readiness/Liveness probe failed. Killing pod

6/19/2017

I'm trying to put some code from my repo using Openshift online. My build compiles fine, but the deployment is failing:

error: update acceptor rejected nodejs-mongo-persistent-7: pods for rc "nodejs-mongo-persistent-7" took longer than 600 seconds to become ready

Looking at the event monitor, I see these errors:

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

This error happens about 50 times until everything times out and my pod is killed.

I'm not really a server guy, and have never worked with the environment before, so most help resources I just don't understand.

Here's a screen cap of the event log: 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
-- SpringsTea
kubernetes
openshift

1 Answer

6/20/2017

First of all your Pod has the expose the ports the Liveness and Readiness probes need this is done in the Pod configuration.

Liveness probes are executed by the kubelet, so all requests are made in the kubelet network namespace.

Be sure not to run the probes on service ports but the local ports.

-- JanB
Source: StackOverflow