Kubernetes is a powerful tool when it comes to keeping your containers running. It can automatically manage the process of restarting containers when they fail, and it can also manage network traffic to ensure only healthy and running containers are used to serve incoming requests. One way to gain even more control over these kinds of automation is through the use of liveness and readiness probes. In this lab, you will have the opportunity to work with liveness and readiness probes by configuring them for a pod.
Learning Objectives
Successfully complete this lab by achieving the following learning objectives:
- Create a Probe to Detect and Restart Unhealthy Containers
Edit the pod descriptor to add a liveness probe:
vi candy-service-pod.yml
apiVersion: v1 kind: Pod metadata: name: candy-service spec: containers: - name: candy-service image: linuxacademycontent/candy-service:2 livenessProbe: httpGet: path: /healthz port: 8081
- Create a Probe to Detect When the Container is Ready to Service Requests
Create a readiness probe for the pod.
apiVersion: v1 kind: Pod metadata: name: candy-service spec: containers: - name: candy-service image: linuxacademycontent/candy-service:2 livenessProbe: httpGet: path: /healthz port: 8081 readinessProbe: httpGet: path: / port: 80
Create the pod in the cluster:
kubectl apply -f candy-service-pod.yml