K8s deployment best practice for a multi-region application?

What UX do you want to expose to end-users? For example:

  1. Each site gets a public IP and DNS name. “aaa.example.com”,
    bbb.example.com”, “ccc.example.com”. Traffic to “aaa” always goes to
    the US installation, and traffic to “bbb” always goes to EU. End
    users have to be region-aware. EU users that access “aaa” will have
    high latency.

  2. The whole app gets a single DNS name, but each site gets an IP.
    Users access “example.com” and access the “best” site for them.
    Geo-aware DNS uses client IP to guess at which is “best”.

  3. The whole app gets a single IP. Routing infrastructure figures out
    which is the “best” site for a given client. DNS always returns 1 IP.

Your network infrastructure determines whether (3) is viable or not.