我正在努力在 Azure Kubernetes 服务中重新创建 SmartHotel360 演示,但入口控制器似乎无法正常工作。
这是一个工作示例应该是什么样子(将酒店服务重定向到/hotels-api):http://sh360production.2c3abf6edd44497688b2.westus.aksapp.io/hotels-api/
但是当我部署我的网站时,它会将 /hotels-api 重定向到一个空白网页,这就是我怀疑 Ingress Controller 中出现问题的原因。http://23.96.16.121/hotels-api。
从我正在阅读的有关入口控制器的文档中,我使用kubectl apply -f ingress.yaml
. 我可以在 K8s UI 的 Ingresses 页面中看到所有服务都具有相同的外部 IP 地址,并且入口服务位于 Services 下,但我没有看到其他任何内容。我使用 helm 部署了所有后端服务,看起来它们也出现在 UI 中。
ingress.yaml 文件如下所示:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
labels:
app: sh360
component: frontend
name: sh360-ingress
annotations:
kubernetes.io/ingress.class: addon-http-application-routing
ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
rules:
- host: swsmarthotel360-409bbcc0.hcp.eastus.azmk8s.io
http:
paths:
- path: /hotels-api
backend:
serviceName: helm-test2-hotels-sh360-hotels
servicePort: 80
- path: /bookings-api
backend:
serviceName: bookings
servicePort: 80
- path: /suggestions-api
backend:
serviceName: suggestions
servicePort: 80
由于我是 AKS 和 Kubernetes 的新手,所以 ingress.yaml 文件中是否缺少将重定向到服务的内容?
(完整参考:https ://github.com/Microsoft/SmartHotel360-AKS-DevSpaces-Demo )