We can add a liveness/rediness probe in our kubernetes deployment assuming we have a rest service to call.
For this to work, we need an endpoint that will respond with a 200 OK when called.
In the following example, we have a container containing an endpoint the the following specifications:
- response: 200 OK
- URL: /monitor/health
To configure this in our kubernetes deployment, we will need to add the following:
service.yaml
apiVersion: v1
kind: Service
metadata:
name: myapp
labels:
app: myapp
spec:
ports:
- name: http
port: 8080
targetPort: 8080
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
labels:
app: myapp
spec:
replicas: 1
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:1.0.0-SNAPSHOT
...
readinessProbe:
httpGet:
path: /monitor/health
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
livenessProbe:
httpGet:
path: /monitor/health
port: 8080
initialDelaySeconds: 5
periodSeconds: 5