Skip to content

Troubleshooting

Going through these basic troubleshooting steps should help you as an Application Developer identify where a problem may lie. If any of these steps do not give the expected "fine" output, use kubectl describe to investigate.

If you are using Lens instead of the kubectl command-line interface, clicking through your Deployments and Pods will reveal the same information as the commands given below.

Is the Kubernetes cluster fine?

All Nodes need to have status Ready.

kubectl get nodes

Are my application Pods fine?

Pods should be Running or Completed, and fully Ready (e.g., 1/1 or 6/6)?

kubectl get pods

Check your Pods for excessive resource usage:

kubectl top pod

Inspect application logs and metrics.

Are my Deployments fine?

Are all Deployments fine? Deployments should show all Pods Ready, Up-to-date and Available (e.g., 2/2 2 2).

kubectl get deployments

Are Helm Releases fine?

All Releases should be deployed.

helm list --all

Are my Certificates fine?

All Certificates needs to be Ready.

kubectl get certificates

Is the API server healthy?

The command below should return HTTP/2 200.

curl --fail --verbose -k https://$loadbalancer_ip_address:6443/healthz

Are Compliantkubernetes apps services healthy?

All commands below should return HTTP/2 200.

curl --fail --verbose https://dex.$DOMAIN/healthz
curl --fail --verbose https://harbor.$DOMAIN/healthz
curl --fail --verbose https://grafana.$DOMAIN/healthz
curl --fail --verbose https://opensearch.$DOMAIN/
curl --fail --verbose -k https://app.$DOMAIN/healthz  # WC Ingress Controller