немного предыстории: я настроил кластер Azure Kubernetes Service и развернул базовый API .Net Core в качестве объекта развертывания. Затем я развернул службу portport для предоставления API, а затем развернул nginx-контроллер и входной объект для его настройки. Я использую IP-адрес входного контроллера для маршрутизации запроса, и это работает, например. http://1.2.3.4/hello-world-one/api/values.
Но когда я заменяю Ip на сгенерированный dns, путь каким-то образом игнорируется, и я получаю бэкэнд по умолчанию - 404, возвращаемый контроллером nginx. Ожидаемое поведение заключается в том, что DNS разрешит, а затем путь "api / values" будет отправлен в мой сервис.
Может кто-нибудь помочь мне с этим?
Заранее спасибо.
Мои настройки развертывания, обслуживания и входа приведены ниже.
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: test-deployment
labels:
app: test
spec:
replicas: 1
selector:
matchLabels:
app: test
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: test
spec:
containers:
- name: test-service
image: <my-repo>.azurecr.io/testservice
imagePullPolicy: Always
ports:
- name: tcp
containerPort: 80
imagePullSecrets:
- name: regsecret
---
apiVersion: v1
kind: Service
metadata:
name: frontend
spec:
type: NodePort
selector:
app: test
ports:
- name: http
port: 32768
targetPort: 80
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: hello-world-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/rewrite-target: /
kubernetes.io/ingress.global-static-ip-name: dev-pip-usw-qa-aks
kubernetes.io/ingress.class: addon-http-application-routing
spec:
rules:
- host: hello-world-ingress.be543d4af69d4c7ca489.westus.aksapp.io
- http:
paths:
- path: /
backend:
serviceName: frontend
servicePort: http
- path: /hello-world-one
backend:
serviceName: frontend
servicePort: http
- path: /hello-world-two
backend:
serviceName: frontend
servicePort: http