Сейчас у меня есть балансировщик нагрузки для каждого модуля. В моем случае 2 модуля со следующими определениями YAML.
apiVersion: v1
kind: Service
metadata:
name: service1
spec:
ports:
- name: https-service1
port: 6379
targetPort: 6379
selector:
app: service1-consoleapp
type: LoadBalancer
apiVersion: v1
kind: Service
metadata:
name: service2
spec:
ports:
- name: https-service2
port: 443
targetPort: 443
selector:
app: service2-consoleapp
type: LoadBalancer
Когда я применяю 2 указанных выше файла yaml, я получаю 2 внешних IP-адреса, которые затем использую для настройки записей A в моих поддоменах DNS.
service1.company.com => внешний IP 1 для service1-consoleapp
service2.company.com => внешний IP 2 для service2-consoleapp
Есть ли способ объединить файл YAML в один, так что я могу использовать только один IP-адрес вместо 2?
Кроме того, похоже, что при входе вы можете это сделать, но не знаете, как я справляюсь с требованием «хоста».
Может ли кто-нибудь объяснить, как будет работать маршрутизация, поскольку я не уверен, какие значения должны быть в свойстве path?
Я все равно получу 2 внешних IP-адреса, которые я могу использовать для заполнения поддомены dns?
spec:
rules:
- host: service1.company.com
http:
paths:
- backend:
serviceName: service1
servicePort: 6379
path: ??
- host: service2.company.com
http:
paths:
- backend:
serviceName: service2
servicePort: 433
path: ??
Результат, который я ищу, - это если я наберу
service1.company.com: 6379 в моем браузере, тогда я должен попасть в конечную точку модуля (service1- consoleapp), и если я наберу
service2.company.com:443 в моем браузере, тогда я должен попасть в конечную точку модуля (service2-consoleapp).
, где service1.company.com и service2.company.com находятся на одном IP-адресе.
заранее спасибо.