У меня есть кластер kubernetes на Amazon EWS, на котором я собираюсь запустить несколько приложений.
У меня есть несколько сервисов, которые составляют одно такое приложение, и я хочу выставить их в Интернете с помощью балансировщика нагрузки Amazon(ELB).Я хочу использовать ELB, потому что я не хочу использовать порт 80 напрямую, так как многие приложения совместно используют этот порт, и я хочу, чтобы каждое из них определяло свой входной ресурс независимо от других.
Я читал о входе kubernetesресурсы и мысли, это именно то, что я ищу.Однако мне не удалось выставить его через сервис с балансировщиком нагрузки.Теперь, когда я читаю документацию, сервисы предназначены для предоставления пакетов, но входные данные:
Объект API, который управляет внешним доступом к сервисам в кластере, обычно HTTP.
Возможно ли то, что я пытаюсь сделать, или я не понял какую-то концепцию и пытаюсь сделать что-то невозможное или неправильное?
Мой код:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
labels:
id: ingress
spec:
rules:
- http:
paths:
- path: /api/devices
backend:
serviceName: device-management
servicePort: 3001
- path: /api/datasources
backend:
serviceName: data-acquisition
servicePort: 3001
- path: /auth,/account,/api/tenants,/api/users
backend:
serviceName: device-management
servicePort: 3001
## TODO: Find out how to add subdomain entry for auth.domain and s3.domain
---
apiVersion: v1
kind: Service
metadata:
name: ingress
labels:
id: ingress
spec:
type: LoadBalancer
ports:
- name: http
port: 80
targetPort: 80
- name: https
port: 443
targetPort: 443
selector:
id: ingress
Вывод изkubectl describe service ingress
содержит
Конечные точки: нет