A browser says a service is unreachable, but that message can hide several different failures. The name may not resolve, the network may not carry the connection, the server may not listen on the chosen port, or the encrypted connection may fail.

DNS translates a name into an address. A route tells a machine where to send traffic. A port identifies the listening service, and TLS protects the connection and helps verify the server's identity. Check those steps in order before changing application settings. A successful DNS lookup only proves the first step.

Try it in a lab

Use a disposable service to compare a successful request, an unavailable port and an incorrect hostname. Record the exact error at each layer and the local routing and resolver configuration.

Check your understanding

Identify the destination address, selected port and component that produced each failure. Explain why a timeout and connection refusal suggest different investigations.

Before you start

Do not use packet captures containing production credentials or customer payloads in a public troubleshooting example.

Read the official guide

Use the curl manual to interpret connection, TLS and HTTP options and exit codes, and the Kubernetes service-debugging guide to check DNS, service addresses and endpoints in a cluster. Record the versions and results of your own exercise. This page proposes a learning activity; it does not report a Kubedex test.

This is a newly written study reference at an address from the original Kubedex course outline. The original lesson was not recovered. It does not include course enrolment, progress tracking or a certificate.

Sources & further reading

  1. Primary learning documentation
  2. curl options and exit codes
  3. Kubernetes: Debug Services

Spotted something that needs another look?

Help improve this page →