Kubenetes入口API路由

时间:2019-11-23 19:17:00

标签: kubernetes kubernetes-ingress azure-kubernetes

我有一个React Web应用程序正在侦听默认路径,并且希望将我的API后端包含在同一URL中。

我的入口摘要如下:

    http:
      paths:
      - backend:
          serviceName: atsweb
          servicePort: 80
        path: /(.*)
      - backend:
          serviceName: atsapi
          servicePort: 80
        path: /api(/|$)(.*)

我的API具有一堆在/ api /之后路由的函数,而我在mydomain.io/api/values处有一个测试页面,我无法到达该页面。我的前端服务运行良好。

只是路径错误吗?

我已经部署了一个独立的API,只是为了检查容器端口/服务端口是否正确。

1 个答案:

答案 0 :(得分:2)

好像您从复制了示例。您的入口注释是什么?检查重写,好像正在进行重定向。尽管如此,仍适用的入口看起来像这样:

>>> data = np.array(['ENST00000641515.2', 'ENSG00000186092.6', 'OTTHUMG00000001094.4',
       'OTTHUMT00000003223.4', 'OR4F5', '202', 'OR4F5', '2618', 'UTR5',
       '1', '60', 'CDS', '61', '1041', 'UTR3', '1042', '2618', '',
       'ENST00000335137.4', 'ENSG00000186092.6', 'OTTHUMG00000001094.4',
       '', '', 'OR4F5', '201', 'OR4F5', '1054', 'UTR5', '1', '36'])
>>> x = np.argwhere(data == "UTR5") + 1
>>> y = np.argwhere(data == "UTR5") + 2
>>> diff = data[y].astype(np.int) - data[x].astype(np.int)
>>> diff.sum()
94

检查是否没有重写注释。这使您的uri完全附加到下一个代理。因此,使--- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: your-ingress namespace: default annotations: kubernetes.io/ingress.class: nginx nginx.ingress.kubernetes.io/ssl-redirect: "false" spec: rules: - http: paths: - path: / backend: serviceName: atsweb servicePort: 80 - path: /api/ backend: serviceName: atsapi servicePort: 80 进入mydomain.io/api/values