【问题标题】:Ingress - How to dispath with base URLs?Ingress - 如何使用基本 URL 进行调度?
【发布时间】:2021-02-03 15:03:43
【问题描述】:

我有两个名为 svc1svc2 的服务。我可以让 ingress 向每个服务发送具有不同基本 URL 的相同域吗,即:

ingress.domain/svc1/path-here -> svc1 收到这个请求,路径改写为/path-here

ingress.domain/svc2/path-here -> svc2 收到这个请求,路径改写为/path-here

所以我可以为这个 k8s 实例上的所有服务使用一个域?

【问题讨论】:

  • 您的意思是:在您获得域访问权限ingress.domain/svc2/path-here 后,它将重定向到ingress.domain/path-here
  • 我的意思是svc2服务的pod会收到请求,看到它的请求URL是ingress.domain/path-hereingress.domain 解析为 k8s 实例 IP。
  • 请分享您的示例入口 ymal 文件。

标签: kubernetes kubernetes-ingress


【解决方案1】:

你可以做类似的事情

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    cert-manager.io/cluster-issuer: public-dev
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/proxy-body-size: 50m
    nginx.ingress.kubernetes.io/proxy-read-timeout: "1800"
    nginx.ingress.kubernetes.io/proxy-send-timeout: "1800"
    nginx.ingress.kubernetes.io/rewrite-target: /$2
  name: public-ingress
spec:
  rules:
  - host: developer.example.com
    http:
      paths:
      - backend:
          serviceName: test-service
          servicePort: 80
        path: /test-service(/|$)(.*)
      - backend:
          serviceName: test-service-2
          servicePort: 80
        path: /test-service-2(/|$)(.*)
  tls:
  - hosts:
    - developer.example.com
    secretName: public-dev

【讨论】:

    猜你喜欢
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2015-05-20
    • 2017-12-10
    • 2017-10-24
    • 2023-03-19
    • 1970-01-01
    相关资源
    最近更新 更多