我正在使用GKE 身份识别代理> L7负载均衡器> 自定义主机和路径规则。它对于根路径工作正常。但这不适用于自定义路径。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
annotations:
kubernetes.io/ingress.global-static-ip-name: "my-static-ip"
spec:
rules:
- host: my.custom.org
http:
paths:
- path: /v1/*
backend:
serviceName: webv1
servicePort: 8080
- path: /v3/*
backend:
serviceName: webv3
servicePort: 8080
- path: /nginx/*
backend:
serviceName: nginx
servicePort: 80
- path: /*
backend:
serviceName: nginx
servicePort: 80
路径/
和/nginx/
正常工作。 /v2/
和/v3/
抛出There was a problem with your request. Error code 11
。
如果我禁用IAP,一切正常。
环境:
Kubernetes版本(使用kubectl version
):1.12.7-gke.17
云提供商或硬件配置:GKE
使用Ingress @ https://cloud.google.com/kubernetes-engine/docs/tutorials/http-balancer设置HTTP负载平衡
为GKE @ https://cloud.google.com/iap/docs/enabling-kubernetes-howto启用Cloud IAP
答案 0 :(得分:0)
此错误代码11与OAuth客户端ID 1的错误配置有关。
我看到失败的人正在使用其他服务端口。如果您从两个不同的后端提供以下2个URL,则两个URL都可能启用了IAP,但配置了不同的clientId。
从GCP开始,不支持为不同的路径使用不同的clientId,IAP正在努力在b / e服务中使用单个clientId。现在,如果您可以验证clientId,并且将它们更改为一个,则可以更改为单个。
推荐的方法是设置NGINX代理。入口+ IAP只能处理一项服务,而不是两项,它将像魅力一样发挥作用。