A ClusterIP is not assigned to any network interface. Nothing owns it, so nothing answers ICMP.
What actually exists is a set of iptables or IPVS rules on every node that rewrite the destination address — but only for the ports the Service declares.
ping 10.96.0.42 # always fails, means nothing
curl 10.96.0.42:80 # this is the real test
If you need to know whether a Service is wired up, check its endpoints instead:
kubectl get endpointslices -l kubernetes.io/service-name=payments
An empty list means the selector matches nothing, or the pods are failing readiness. That is the actual answer, and ping was never going to give it to you.
One useful email a month
Design system patterns, front-end techniques and case study breakdowns. No promotions, no digest of other people's links.