首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我放置两条路径时,带有nginx入口控制器的入口不能工作。

当我放置两条路径时,带有nginx入口控制器的入口不能工作。
EN

Stack Overflow用户
提问于 2021-02-18 13:10:50
回答 1查看 402关注 0票数 1

我是K8s的初学者,我正在测试多个场景,所以我有了下一个问题:

当我应用带有两个路径的时,每个URI的服务器响应为404

这是我的入口YAML文件

代码语言:javascript
运行
复制
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress
  namespace: pruebas
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /
    kubernetes.io/ingress.class: nginx
spec:
  rules:
  - host: parking.io
    http:
      paths:
      - backend:
          serviceName: front
          servicePort: 80
        path: /front
      - backend:
          serviceName: back
          servicePort: 80
        path: /api

我做了几次测试,结果如下:

  • 只有1条带有"/“表示”前台“的路径: Works✅
  • 只有1条带有"/”表示“后退”的路径: works✅
  • 只有1条用于“前端”的路径和"/front":Not works❌
  • 只有1条用于“/backend”的“前端”路径: Not works❌

H 1122条用于“前台”和"back“的路径( YAML文件):Not❌H 213/code>F 214/code>

Api服务YAML:

代码语言:javascript
运行
复制
apiVersion: v1
kind: Service
metadata:
  name: back
  namespace: pruebas
spec:
  type: ClusterIP
  selector:
    type: backend
  ports:
  - protocol: TCP
    port: 80
    targetPort: 80

附加信息:我做了一个测试,为Nginx的hello-world创建了两个服务,我做的和我之前说的一样好,所以,我猜我的服务或豆荚有问题,但我不知道它会是什么。

更多信息,,它是运行在GCP上的GKE。

更新的--我把它(nginx.org/re写:"serviceName=back重写=/“)和API的路由放在一起,而不是针对子路由(api/任何东西)。

代码语言:javascript
运行
复制
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: ingress
  namespace: pruebas
  annotations:
    # nginx.ingress.kubernetes.io/rewrite-target: /
    nginx.org/rewrites: "serviceName=back rewrite=/"
    kubernetes.io/ingress.class: nginx
spec:
  rules:
  - host: parking.io
    http:
      paths:
      # - backend:
      #     serviceName: front
      #     servicePort: 80
      #   path: /app
      - backend:
          serviceName: nginx-2
          servicePort: 80
        path: /hello
      - backend:
          serviceName: back
          servicePort: 80
        path: /api

我的名称空间“pruebas”中的所有信息:

EN

回答 1

Stack Overflow用户

发布于 2021-02-19 15:00:00

我通过这些改变来解决我的问题:

  • 卸载我的入口控制器,然后移除与它相关的服务、豆荚和所有相关的服务。
  • 我的入口控制器位于一个不同的名称空间(如下所示),因此,我再次将NGINX入口控制器安装在我的服务和豆荚(Prueba)
  • 的名称空间中,我将入口配置在与其他豆荚、服务等相同的名称空间中。

我的集群是在GKE上配置的,所以我不知道这个解决方案是否适用于不同的服务。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66260659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档