A Service can exist without a usable route to the application. First check whether its selector matches the intended Pod labels, then whether those Pods are ready. An empty endpoint set often points to one of those boundaries. If endpoints exist, compare the Service port and targetPort with the container listener before looking farther outward. Fixing a selector and fixing a port are separate changes. The local reachability model lets you inspect each hop without sending traffic outside the browser. You'll repair fictional routes while preserving the client-facing port, including a case where a syntactically valid targetPort reaches nothing useful.