Could you elaborate on the service discovery part? If you're in kubernetes, you have kube-dns which in effect is service discovery right? What does consul provide over this?
I’ve yet to set foot in a bigger place with distributed teams and services that only use k8s and nothing else.
In these settings there’s a need to interconnect and monitor everything.
I’ve even at one time registered mainframe stuff in consul, as an external service, with a rather complex health checks in place. This alone improved observability and reliability for a lot of the distributed consumers.