Похоже, вы сбиваете с толку тот факт, что пользователи, просматривая онлайн, будут вызывать стандартные запросы как на «загрузку» вашего статического контента, и используют ваши 2 API (book и api).Не API-сервис NGINX, обслуживающий статический контент, который обращается к вашим API, а браузеры / приложения пользователей, и они делают это точно так же как для статического контента, так и для API (у первого есть более / специфические заголовки и данные, такие как auth ...).
На вашей диаграмме вы захотите поместить свои новые static-service
на тот же уровень, что и ваши book-service
и api-service
, то есть за входом.Но у вашего static-service
не будет связи с db-service
, как у других 2. Затем просто завершите свои правила входа со статическим сервисом в конце, как в этом примере:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: your-global-ingress
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: foo.bar.com
http:
paths:
- path: /book-service
backend:
serviceName: book-service
servicePort: 80
- path: /api-service
backend:
serviceName: api-service
servicePort: 80
- path: /
backend:
serviceName: static-service
servicePort: 80
Вам нужно будет настроить имена и порты ваших сервисов и выбрать пути, по которым ваши пользователи должны получать доступ к вашим API, в приведенном выше примере у вас будет:
foo.bar.com/book-service
для вашей книги-сервис foo.bar.com/api-service
для API-сервиса foo.bar.com/
т.е. все остальное, идущее на статический-сервис