J'ai une plate-forme k8s multi-cluster/multi-zone fonctionnant sur Google Kubernetes Engine. Le réseau VPC sous-jacent de GCP fonctionne en mode de routage global. Les services k8s se voient attribuer des adresses IP internes (clusterIP) via des sous-réseaux Alias IP.
Je peux pinguer les nœuds d'un cluster à l'autre donc il n'y a pas de problèmes avec les règles de pare-feu ou le routage en général mais je ne peux pas me connecter aux services individuels sur leurs Alias IP internes à travers les clusters.
Je peux me connecter depuis d'autres nœuds et conteneurs sur le même cluster aux services mais si je crée une instance en dehors du cluster k8s dans la même zone je ne peux pas me connecter.
Il semble probable que les plages d'adresses IP Alias ne sont pas routées même si les sous-réseaux apparaissent dans la table de routage du VPC.
Y a-t-il un moyen de s'assurer que tous les sous-réseaux Alias IP sont correctement routés dans l'ensemble du VPC?
Quelques détails...
kubectl get services --namespace production
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
elasticsearch LoadBalancer 10.0.64.103 xxx.xxx.xxx.xxx 9200:30182/TCP,9300:31166/TCP 1m
gcloud compute routes list
NAME NETWORK DEST_RANGE NEXT_HOP PRIORITY
default-route-ac89edf7c623eb22 foo 10.0.64.0/19 foo 1000
Le clusterIP est dans la plage de sous-réseau répertoriée mais n'est pas accessible en dehors du cluster k8s local.