Add a Liveness Probe#
In order to best maintain your pods, Kubernetes needs to know if a pod is alive or not. A liveness probe is an action that the Kubernetes system takes periodically to determine if a pod is working.
Tip
You can see examples of liveness probes in the Kubernetes documentation.
Configure Django#
Django comes with a security measure that prevents the liveness probe from working. Add the following line to mysite/settings.py
to defeat the allowed hosts protection, which is not needed when the app is running in Kubernetes:
ALLOWED_HOSTS = [ "*" ]
Rebuild the Container!
This change requires that you rebuild the container. You should commit the change to GitHub and wait for the new container to build.
The Liveness Probe#
Since Django is a web application we can use a simple form of liveness probe: Having Kubernetes fetch a URL in our application. The configuration fragment shows how to configure the probe.
Add this to the container definition in deployment/mysite-pod.yaml
:
livenessProbe:
httpGet:
path: /polls/
port: 8000