Обслуживание приложения * stati c за входом в Kubernetes - PullRequest
0 голосов
/ 12 января 2020

В настоящее время я пытаюсь настроить реагирующий SPA как развертывание / обслуживание на kubernetes. Как и бэкэнд-сервисы, которые у меня работают в настоящее время, я хочу иметь возможность использовать их за Ingress.

Поскольку SPA - это просто набор статических c файлов, я открываю файлы через nginx. В контейнере, который запускается при развертывании, установлен nginx для обслуживания активов stati c (nginx -g daemon off в файле docker). Это прекрасно работает, если я раскрываю развертывание с LoadBalancer, но если я использую Ingress, я не получаю ответа. Есть ли какие-то особые моменты, которые следует учитывать при обслуживании активов c за входом? Или какие-либо известные ссылки / ресурсы для этого?

Вот мой ingress.yml:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: web-ingress
  annotations:
    kubernetes.io/ingress.global-static-ip-name: web-static-ip
    nginx.ingress.kubernetes.io/rewrite-target: /$1
spec:
  rules:
  - host: api.my-domain.com
    http:
      paths:
        - backend:
            serviceName: web-backend-service
            servicePort: 80
  - host: app.my-domain.com
    http:
      paths:
        - backend:
            serviceName: web-frontend-service
            servicePort: 80

1 Ответ

2 голосов
/ 12 января 2020

Вам необходимо установить входной контроллер в кластере, чтобы входной ресурс действительно вступил в силу . Вот руководство по установке Nginx входного контроллера. Пример входа для обслуживания содержимого c будет выглядеть следующим образом.

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: web-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/add-base-url: "true"
    nginx.ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - host: api.my-domain.com
    http:
      paths:
        - backend:
            serviceName: web-backend-service
            servicePort: 80
  - host: app.my-domain.com
    http:
      paths:
        - backend:
            serviceName: web-frontend-service
            servicePort: 80

Вот руководство о том, как обслуживать приложение angular 8 на Minikube, используя Nginx вход.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...