【问题标题】:Kubernetes ingress - access to web service container subpathsKubernetes 入口 - 访问 Web 服务容器子路径
【发布时间】:2020-10-09 20:18:56
【问题描述】:

我有一个在容器中运行的 Web 服务 (dashboard-service)。该服务在以下位置提供所需的网页:

http://192.168.1.100:3000/page2/

http://192.168.1.100:3000/page3/

我在 kubernetes 集群中运行 dashboard-service,并希望使用入口来控制访问,如下所示:

以便我可以访问:http://192.168.1.100:3000/dashboard/1

http://192.168.1.100:3000/dashboard/2

我尝试了以下入口设置,但收到“404 Not Found”

有没有办法给子路径添加路由?

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: dashboard-service
  namespace: db
  annotations:
    ingress.kubernetes.io/rewrite-target: /
spec:
  rules:
  - http:
      paths:
        - path: /dashboard/
          pathType: Prefix
          backend:
            service:
              name: dashboard-service
              port:
                number: 3000

【问题讨论】:

    标签: kubernetes kubernetes-ingress


    【解决方案1】:

    首先,在ingress中没有下面的配置

      backend:
        service:
          name: dashboard-service
          port:
            number: 3000
    

    你应该使用 next..

      - backend:
         serviceName: dashboard-service
         servicePort: 3000
    

    接下来,我建议你安装、配置和使用nginx ingress controller,而不是常规的 kubernetes-ingress。另请注意,如果您使用 nginx 控制器,您的注释应该是 nginx.ingress.kubernetes.io/rewrite-target: ,而不是 ingress.kubernetes.io/rewrite-target:

    根据NGINX Ingress Controller rewrite documentation,您的入口应该是这样的

    apiVersion: networking.k8s.io/v1beta1
    kind: Ingress
    metadata:
      annotations:
        nginx.ingress.kubernetes.io/rewrite-target: /page$2
      name: dashboard-service
      namespace: db
    spec:
      rules:
        http:
          paths:
          - backend:
              serviceName: dashboard-service
              servicePort: 3000
            path: /dashboard(/|$)(.*)
    

    我在这里为您测试了正则表达式和捕获组:https://regex101.com/r/3zmz6J/1

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-20
      相关资源
      最近更新 更多