I have two Kubernetes clusters with one application (two TCP load balancers) in different zones - "us-central1" and "us-west1". We would like to set a load balancer (or traffic director) with one address (IP, one domain) that could retrieve user request and redirect his request to closest cluster. It should be extensible solution for making next zones in "europe" and "asia" zones.
Is it possible to achieve that aim with Google Engine? Could you recommend any article or advice?
You could use GKE Ingress which works on Layer 7.
Here is some docs about, Exposing applications using services, Setting up HTTP(S) Load Balancing with Ingress and Configuring Ingress for external load balancing.
You can also check the kubernetes/ingress-gce on GitHub.
If you could be more specific I will provide more details.
Ingress for Anthos is a cloud-hosted multi-cluster Ingress controller for Anthos GKE clusters. It's a Google-hosted service that supports deploying shared load balancing resources across clusters and across regions.
Also refer to blog post by JetStack on various approaches of solving it.