Я розгортаю веб-додаток за допомогою Google Kubernetes Engine і хочу зробити його доступним через балансир завантаження на існуючій статичній IP-адресі, яку я контролюю в рамках одного проекту в хмарній платформі Google, оскільки доменне ім’я я хочу використовувати вже вказує на цю IP.
Ямл-файл, який я використовував для стручка:
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 стручок (або контролер реплікації) в двигуні Kubernetes Google на вибрану статичну IP-адресу?