DrDroid

Kube-probe Readiness probe failed: dependency service down

A dependent service required by the application is not available.

👤

Stuck? Let AI directly find root cause

AI that integrates with your stack & debugs automatically | Runs locally and privately

Download Now

What is Kube-probe Readiness probe failed: dependency service down

Understanding Kube-probe

Kube-probe is a diagnostic tool used in Kubernetes to check the health of containers running within pods. It helps ensure that applications are running smoothly by performing liveness and readiness checks. These probes are crucial for maintaining the desired state of applications and ensuring high availability.

Identifying the Symptom

One common symptom that developers encounter is the readiness probe failure, often indicated by an error message such as: Readiness probe failed: dependency service down. This message suggests that the application is not ready to serve traffic due to an unavailable dependent service.

What You Observe

When this issue occurs, you may notice that the application is not receiving traffic, and the pod status may show as NotReady. This can lead to disruptions in service availability and user experience.

Exploring the Issue

The readiness probe failure indicates that a service required by your application is not accessible. This could be due to network issues, the service not being started, or incorrect service configurations. The readiness probe checks if the application is ready to handle requests, and if it fails, Kubernetes will not route traffic to the pod.

Common Causes

Network connectivity issues between the application and the dependent service. The dependent service is not running or has crashed. Misconfiguration in service endpoints or DNS issues.

Steps to Fix the Issue

To resolve the readiness probe failure, follow these steps:

1. Check Dependent Services

Ensure that all dependent services are running. You can use the following command to check the status of services:

kubectl get services

Verify that the services your application depends on are listed and running.

2. Verify Network Connectivity

Use the following command to check network connectivity between your application pod and the dependent service:

kubectl exec <pod-name> -- curl -I http://<service-name>:<port>

This command attempts to connect to the service from within the pod. If it fails, investigate network policies or DNS configurations.

3. Inspect Logs

Check the logs of both your application and the dependent service for any errors or warnings:

kubectl logs <pod-name>

Look for any indications of why the service might be unavailable or why the probe is failing.

4. Update Readiness Probe Configuration

If the issue persists, review and update the readiness probe configuration in your deployment YAML file. Ensure the probe is correctly configured to check the right endpoints and ports.

readinessProbe: httpGet: path: /healthz port: 8080 initialDelaySeconds: 5 periodSeconds: 10

Further Reading

For more information on configuring probes in Kubernetes, refer to the official Kubernetes documentation. Additionally, explore Kubernetes Services to understand how services are managed and accessed.

Kube-probe Readiness probe failed: dependency service down

TensorFlow

  • 80+ monitoring tool integrations
  • Long term memory about your stack
  • Locally run Mac App available
Read more

Time to stop copy pasting your errors onto Google!