Google cloud platform 如何修复gce入口的路由配置?

Google cloud platform 如何修复gce入口的路由配置?,google-cloud-platform,kubernetes-ingress,Google Cloud Platform,Kubernetes Ingress,入口在请求时调用随机服务,还调用根(/)。我需要入口调用配置服务中指定的,并将完整路径发送到服务(我使用MVC模式,因此我需要为应用程序提供完整路径以解析正确的控制器) 从你的问题中我看到: 1) 您试图将重写目标与gceingres-->一起使用,但这不起作用。是nginx入口控制器的一项功能。顺便说一句,从0.22.0版开始,您应该nginx.ingres.kubernetes.io/rewrite-target:“/”而不是ingres.kubernetes.io/rewrite-targ

入口在请求时调用随机服务,还调用根(/)。我需要入口调用配置服务中指定的,并将完整路径发送到服务(我使用MVC模式,因此我需要为应用程序提供完整路径以解析正确的控制器)


从你的问题中我看到:

1) 您试图将
重写目标
gce
ingres-->一起使用,但这不起作用。是nginx入口控制器的一项功能。顺便说一句,从0.22.0版开始,您应该
nginx.ingres.kubernetes.io/rewrite-target:“/”
而不是
ingres.kubernetes.io/rewrite-target:“/”

2) 注释添加基url在0.22.0中被删除。这也是nginx注释,不是gce。更多信息请访问

3) 另外,我相信,如果您想要获得正确的路径,您不需要重写目标

从我的战俘那里应该有这样的东西:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: whatever
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/ingress.global-static-ip-name: "my-static-ip-name"
spec:
  tls:
  - secretName: my-tls-secret
    hosts:
      - whatever.my-awesome-project.com
  rules:
  - host: whatever.my-awesome-project.com
    http:
      paths:
      - path: /api/whatever
        backend:
          serviceName: whatever-service
          servicePort: 80
      - path: /api/not-whatever
        backend:
          serviceName: not-whatever-service
          servicePort: 80
      - path: /images/*
        backend:
          serviceName: not-whatever-service
          servicePort: 80
很多事情取决于您使用的入口和版本。你有可能搬到nginx吗

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: whatever
  annotations:
    kubernetes.io/ingress.class: "nginx"
    kubernetes.io/ingress.global-static-ip-name: "my-static-ip-name"
spec:
  tls:
  - secretName: my-tls-secret
    hosts:
      - whatever.my-awesome-project.com
  rules:
  - host: whatever.my-awesome-project.com
    http:
      paths:
      - path: /api/whatever
        backend:
          serviceName: whatever-service
          servicePort: 80
      - path: /api/not-whatever
        backend:
          serviceName: not-whatever-service
          servicePort: 80
      - path: /images/*
        backend:
          serviceName: not-whatever-service
          servicePort: 80