Considering a traffic request towards one specific service in k8s:
- Resolve DNS destination host via Core-DNS (the dns server is specified in /etc/resolv.conf on each container)
- The DNS would be resolved to service IP
- The tcp request towards the service IP would be handled by IPVS
When we turn to use istio, I have two questions:
- Does istio bypass the IPVS?
- Since the application is independent of sidecar, then how the sidecar (envoy) associate the outgoing traffic with the destination service? For example, the app sends a tcp packet with dest host “foobar”, the “foobar” would be resolved first before hijacked by sidecar, how the sidecar figure out which dest send to? Use inverse DNS resolve?