I have a GKE Cluster with istio installed. Istio ingress gateway automatically creates a load balancer with an IP.
I put this IP in Cloud DNS as image below (Fake IP with hidden DNS name). Everything work and I can access my cluster using the URL.
I know I can reduce TTL time to try reduce propagation time if I need to change the IP as described in documentation.
Propagation of changes
Changes are propagated in two parts. First, the change that you send through the API or command-line tool must be pushed to Cloud DNS's authoritative DNS servers. Second, DNS resolvers must pick up this change when their cache of the records expires.
The DNS resolver's cache is controlled by the time-to-live (TTL) value that you set for your records, which is specified in seconds. For example, if you set a TTL value of 86400 (the number of seconds in 24 hours), the DNS resolvers are instructed to cache the records for 24 hours. Some DNS resolvers ignore the TTL value or use their own values that can delay the full propagation of records.
If you are planning for a change to services that requires a narrow window, you might want to change the TTL to a shorter value prior to making your change. This approach can help reduce the caching window and ensure a quicker change to your new record settings. After the change, you can change the value back to its previous TTL value to reduce load on the DNS resolvers.
But as you can see this solution is not reliable because some DNS resolvers can not follow my TTL. Is there any way to reduce this propagation time to zero? I tried to create a load balancer and a forwarding rule with no success.