【发布时间】:2018-01-31 18:15:39
【问题描述】:
我希望我能在其他地方找到我的答案,但是由于缺乏文档,我不得不卑躬屈膝地寻求帮助 :)
我一直关注this tutorial 作为起点。我可以顺利完成这些步骤。但是当我修改入口以完成我想要完成的事情时,什么也没有发生。
本教程让您使用以下 .yaml 创建入口
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
spec:
backend:
serviceName: nginx
servicePort: 80
我想要做的是修改入口,以便它可以利用auth-url annotation,最后我的 ingress.yaml 失败了,看起来像
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: basic-ingress
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/auth-url: https://someauth.com/path/to/my/auth
spec:
backend:
serviceName: nginx
servicePort: 80
为了使用注解,我发现我需要包含kubernetes.io/ingress.class: "nginx" 注解才能使用适当的入口。基本上,这没有任何作用。我可以在不触及我的身份验证的情况下访问后端 nginx 集群。好像这些注释甚至都不存在。
GKE 不支持nginx 入口控制器吗?我的 yaml 有什么根本问题吗? gce 入口控制器是否有一个可以完成同样事情的注解?
我想要完成的是:客户端调用我的服务,负载均衡器/代理首先使用外部端点对请求进行身份验证,如果身份验证成功,代理将调用发送到我的服务(所有没有发送到客户端的单个重定向响应)。基本上nginx auth_request 所做的就是我认为auth-url 注释在幕后利用的作用。
谢谢!
【问题讨论】:
标签: nginx kubernetes google-compute-engine google-kubernetes-engine