【发布时间】:2019-12-12 08:04:15
【问题描述】:
我无法让我的客户端容器与 API 容器通信,我希望这样使用扇出入口:
foo.bar.com/api - routes to API container
foo.bar.com - routes to client container
我的设置确实使客户端没有问题,但是对 API 的所有调用都会导致 404 - 所以它显然不起作用。我认为 404 行为是一个红鲱鱼,它可能正在寻找与 /api 匹配的 Angular 路由并且找不到任何路由,我认为路由甚至没有发生。我的 Ingress yaml 在下面,如果需要,我可以共享配置的任何其他部分。任何指针都非常感谢!
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: foo-bar
name: foo-bar-ingress
annotations:
kubernetes.io/ingress.class: nginx
certmanager.k8s.io/cluster-issuer: letsencrypt-prod
nginx.ingress.kubernetes.io/from-to-www-redirect: "true"
spec:
tls:
- hosts:
- foo.bar.com
secretName: tls-secret-prod
rules:
- host: foo-bar.com
http:
paths:
- backend:
serviceName: server
servicePort: 3000
path: /api
- backend:
serviceName: client
servicePort: 80
path: /
【问题讨论】:
-
简单的测试方法 - 以角度创建
/api路由,响应类似于“ok”。这会让你知道发生了什么。不过,我认为这个入口规则没有任何问题 -
您的 api 服务器上是否存在
/api路径? -
感谢 cmets,我检查了 angular 和 api 服务器,发现它是缺少 /api 的节点路由。
标签: kubernetes kubernetes-ingress azure-aks