Health checks
Kubernetes provides three layers of health checking. First, in the form of HTTP or TCP checks, K8s can attempt to connect to a particular endpoint and give a status of healthy on a successful connection. Second, application-specific health checks can be performed using command-line scripts. We can also use the exec
container to run a health check from within your container. Anything that exits with a 0
status will be considered healthy.
Let's take a look at a few health checks in action. First, we'll create a new controller named nodejs-health-controller.yaml
with a health check:
apiVersion: v1 kind: ReplicationController metadata: name: node-js labels: name: node-js spec: replicas: 3 selector: name: node-js template: metadata: labels: name: node-js spec: containers: - name: node-js image: jonbaier/node-express-info:latest ports: - containerPort: 80 livenessProbe: ...