Estou implantando um aplicativo Web usando o Google Kubernetes Engine e quero torná-lo acessível por meio de um balanceador de carga em um endereço IP estático existente que eu controle como parte do mesmo projeto no Google Cloud Platform, porque o nome de domínio que eu quero usar já aponta para esse IP.
O arquivo yaml que usei para o 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 configurar um balanceador de carga usando:
apiVersion: v1
kind: Service
metadata:
name: my-load-balancer
spec:
ports:
- port: 80
targetPort: 80
selector:
app: my-app
type: LoadBalancer
Isso fornece um IP externo no qual o aplicativo está acessível, mas não consigo encontrar nenhuma maneira de configurá-lo para usar o IP desejado. A documentação dos serviços menciona uma configuração spec.clusterIP, mas isso não parece estar relacionado ao IP externo. Da mesma forma, uma vez configurado o balanceador de carga, o campo status.loadBalancer.ingress.ip do serviço é definido como seu endereço IP externo, mas isso não parece ser uma configuração configurável.
Como alternativa, tentei criar manualmente uma regra de encaminhamento no console do Google Compute Engine para direcionar o tráfego do meu endereço IP estático para o pool de destino configurado pelo Kubernetes, mas quando tento conectar, a conexão é recusada.
Existe alguma maneira de fazer o que eu quero - expor um pod Kubernetes (ou controlador de replicação) no mecanismo do Google Kubernetes em um endereço IP estático escolhido?