path/backend 规范的 Kubernetes Ingress 差异

Kubernetes Ingress difference of path/backend specification

我的入口资源中这两个规范有什么区别。他们做同样的事情吗?我什么时候使用哪种类型?

spec:
  rules:
  - host: {{ .Values.Subdomain }}{{ .Values.Domain }}
    http:
      paths:
        - path: /api
          backend:
            serviceName: {{ .Values.ServiceName }}
            servicePort: 80

并且:

spec:
  rules:
  - host: {{ .Values.Subdomain }}{{ .Values.Domain }}
    http:
      paths:
      - backend:
          serviceName: {{ .Values.ServiceName }}
          servicePort: 80
        path: /api

这两个规格在 YAML 中相同 - 项目的顺序无关。

没有区别。 paths 字段是地图列表(字典),其中每个地图由 pathbackend 字段组成。在地图中,字段的顺序并不重要,在您的两个模板中就是这种情况。