如何在 Kubernetes Ingress 中为两个服务配置 Path?

How can I configure Path for two services in Kubernetes Ingress?

我有以下入口配置但是当我调用 www.domain.com/api 它总是打开我的 UI 服务而不是 API 如果我在 api,例如www.domain.com/api/v1/projects.

我该如何解决?

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: ingress
spec:
  tls:
  - secretName: tls
  backend:
    serviceName: ui
    servicePort: 5003
  rules:
  - host: www.domain.com
    http:
      paths:
      - path: /
        backend:
          serviceName: ui
          servicePort: 5003
      - path: /api
        backend:
          serviceName: api
          servicePort: 5000

这是我解决这个问题的方法。我希望这可以帮助其他人。

谢谢@aleks!!

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kronus
spec:
  tls:
  - secretName: tls
  backend:
    serviceName: ui
    servicePort: 5003
  rules:
  - host: domain.com
    http:
      paths:
      - path: /api
        backend:
          serviceName: api
          servicePort: 5000
      - path: /api/*
        backend:
          serviceName: api
          servicePort: 5000
  - host: www.domain.com
    http:
      paths:
      - path: /api
        backend:
          serviceName: api
          servicePort: 5000
      - path: /api/*
        backend:
          serviceName: api
          servicePort: 5000