Sto distribuendo un'app Web utilizzando Google Kubernetes Engine e voglio renderla accessibile tramite un bilanciamento del carico su un indirizzo IP statico esistente che controllo come parte dello stesso progetto in Google Cloud Platform, perché il nome di dominio che voglio usare punta già a questo IP.
Il file yaml che ho usato per il pod è:
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
Posso impostare un bilanciamento del carico usando:
apiVersion: v1
kind: Service
metadata:
name: my-load-balancer
spec:
ports:
- port: 80
targetPort: 80
selector:
app: my-app
type: LoadBalancer
Questo fornisce un IP esterno su cui l'app è accessibile, ma non riesco a trovare alcun modo per configurarlo per utilizzare l'IP che desidero. La documentazione relativa ai servizi menziona un'impostazione spec.clusterIP, ma ciò non sembra correlare all'IP esterno. Allo stesso modo, una volta impostato il bilanciamento del carico, il campo status.loadBalancer.ingress.ip del servizio è impostato sul suo indirizzo IP esterno, ma questa non sembra essere un'impostazione configurabile.
In alternativa, ho provato a creare manualmente una regola di inoltro nella console di Google Compute Engine per indirizzare il traffico dal mio indirizzo IP statico al pool di destinazione impostato da Kubernetes, ma quando provo a connettermi la connessione viene rifiutata.
Esiste un modo per fare quello che voglio: esporre un pod Kubernetes (o controller di replica) sul motore di Google Kubernetes su un indirizzo IP statico scelto?