Istio Multi-master Multi-network Locality Failover Woes

Solution 1:

This is a bug in istio 1.9.1 when running in a bare-metal environment. The client must have a service attached to it. When a service is provided, the locality is pulled from the first instance. However, when there is no service defined, the cloud metadata provider is used to assign locality to the proxy instances (the sidecar itself queries the metadata server).

See:

https://github.com/istio/istio/blob/bf5dd51386f4d78b20dd1f9c14f09b562a6ecd6e/pilot/pkg/xds/ads.go#L584-L600