Вы можете использовать istio для Multi Cloud Burst (https://codelabs.developers.google.com/codelabs/istio-multi-burst/#0)
Также, если они находятся в одном проекте, вам нужно будет убедиться, что у них разные диапазоны IP-адресов и что диапазон одной подсети маршрутизируемый для другой подсети, тогда используйте что-то вроде https://github.com/kubernetes-sigs/external-dns,
Это позволит вам вызвать внутренние балансировщики нагрузки, которые создаст службы type: Load Balancer
, но не publi c, с которым вы, вероятно, знакомы, а внутреннюю (с учетом квот типа backend-services), я буду использовать службу mongodb в качестве примера, это будет выглядеть что-то вроде этого.
kind: Service
metadata:
name: "mongodb"
annotations:
cloud.google.com/load-balancer-type: "Internal"
external-dns.alpha.kubernetes.io/hostname: "db.mongodb.myinternaldns.test"
external-dns.alpha.kubernetes.io/ttl: "10"
labels:
app: mongodb
spec:
ports:
- name: tcp-mongodb
port: 27017
protocol: TCP
targetPort: 27017
clusterIP: None
selector:
app: mongodb
В аннотациях вы указываете, какой DNS-адрес вы хотите, чтобы эта служба имела, и это DNS-адрес, который будет доступен из обоих кластеров, он создаст A и TXT-записи в Cloud-DNS с IP-адресом внутреннего балансировщика нагрузки, если вы убедитесь, что у вас есть правильные настройки маршрута, трафик c будет передаваться между кластерами. Надеюсь, это поможет!