Я попытался настроить вход Kubernetes для маршрутизации внешнего http-трафика к модулю внешнего интерфейса (с путем /) и внутреннему модулю (с путем / отдыха / *), но я всегда получаю ошибку 400 вместо основного индекса nginx. HTML.
Итак, я попробовал пример Google Kubernetes на странице https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer,, но всегда получаю ошибку 400. Есть идеи?
Ниже приведен дескриптор развертывания веб-интерфейса "cup-fe" (работает nginx с угловым приложением):
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: cup-fe
namespace: default
labels:
app: cup-fe
spec:
replicas: 2
selector:
matchLabels:
app: "cup-fe"
template:
metadata:
labels:
app: "cup-fe"
spec:
containers:
- image: "eu.gcr.io/gpi-cup-242708/cup-fe:latest"
name: "cup-fe"
Следующая услуга NodePort:
apiVersion: v1
kind: Service
metadata:
name: cup-fe
namespace: default
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 80
selector:
run: cup-fe
type: NodePort
И, наконец, Ingress, но не в последнюю очередь, Ingress, чтобы выставить внешний интерфейс:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: http-ingress
spec:
rules:
- host: cup-fe
http:
paths:
- path: /
backend:
serviceName: cup-fe
servicePort: 80
- path: /rest/*
backend:
serviceName: cup-be
servicePort: 8080
Я оставил дескриптор развертывания "cup-be" (запускающий wildfly), потому что он очень похож на дескриптор "cup-fe". Обратите также внимание, что если я создаю службу LoadBalancer вместо NodePort, я могу получить доступ к веб-странице, но у меня возникают некоторые проблемы с CORS для вызова внутреннего интерфейса.