Je déploie une application Web à l'aide de Google Kubernetes Engine et je souhaite la rendre accessible via un équilibreur de charge sur une adresse IP statique existante que je contrôle dans le cadre du même projet dans Google Cloud Platform, car le nom de domaine que je souhaite utiliser pointe déjà vers cette adresse IP.
Le fichier yaml que j'ai utilisé pour le pod est:
apiVersion: v1
kind: Pod
metadata:
name: my-pod
labels:
app: my-app
spec:
containers:
- name: my-container
image: gcr.io/my-project/my-app:latest
Je peux configurer un équilibreur de charge en utilisant:
apiVersion: v1
kind: Service
metadata:
name: my-load-balancer
spec:
ports:
- port: 80
targetPort: 80
selector:
app: my-app
type: LoadBalancer
Cela fournit une adresse IP externe sur laquelle l'application est accessible, mais je ne trouve aucun moyen de la configurer pour utiliser l'adresse IP que je souhaite. La documentation des services mentionne un paramètre spec.clusterIP, mais cela ne semble pas se rapporter à l'IP externe. De même, une fois l'équilibreur de charge configuré, le champ status.loadBalancer.ingress.ip du service est défini sur son adresse IP externe, mais cela ne semble pas être un paramètre configurable.
Comme alternative, j'ai essayé de créer manuellement une règle de transfert dans la console Google Compute Engine pour diriger le trafic de mon adresse IP statique vers le pool cible configuré par Kubernetes, mais lorsque j'essaie de me connecter, la connexion est refusée.
Existe-t-il un moyen de faire ce que je veux - d'exposer un pod Kubernetes (ou un contrôleur de réplication) sur le moteur Google Kubernetes sur une adresse IP statique choisie?