Я развертываю веб-приложение с помощью Google Kubernetes Engine и хочу сделать его доступным через балансировщик нагрузки на существующем статическом IP-адресе, которым я управляю как часть того же проекта в Google Cloud Platform, потому что доменное имя, которое я хочу использовать уже указывает на этот IP.
Файл yaml, который я использовал для модуля:
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
Я могу настроить балансировщик нагрузки, используя:
apiVersion: v1
kind: Service
metadata:
name: my-load-balancer
spec:
ports:
- port: 80
targetPort: 80
selector:
app: my-app
type: LoadBalancer
Это обеспечивает внешний IP-адрес, по которому приложение доступно, но я не могу найти способ настроить его на использование IP-адреса, который я хочу. В документации по сервисам упоминается настройка spec.clusterIP, но, похоже, это не относится к внешнему IP. Аналогично, после настройки балансировщика нагрузки в поле status.loadBalancer.ingress.ip службы устанавливается внешний IP-адрес, но это не настраиваемый параметр.
В качестве альтернативы я попытался вручную создать правило пересылки в консоли Google Compute Engine, чтобы перенаправлять трафик со своего статического IP-адреса в целевой пул, настроенный Kubernetes, но при попытке подключения соединение отклоняется.
Есть ли способ сделать то, что я хочу - выставить модуль Kubernetes (или контроллер репликации) в движке Google Kubernetes на выбранный статический IP-адрес?