Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes入口在路由之前执行授权,就像api网关一样_Kubernetes_Kubernetes Ingress_Nginx Ingress_Api Gateway_Kong Ingress - Fatal编程技术网

Kubernetes入口在路由之前执行授权,就像api网关一样

Kubernetes入口在路由之前执行授权,就像api网关一样,kubernetes,kubernetes-ingress,nginx-ingress,api-gateway,kong-ingress,Kubernetes,Kubernetes Ingress,Nginx Ingress,Api Gateway,Kong Ingress,可以对Kubernetes入口(如kong、nginx)执行授权(基于规则的)。 例如,我有: apiVersion:extensions/v1beta1 kind: Ingress metadata: name: foo-bar spec: rules: - host: api.foo.bar http: paths: - path: /service backend: serviceName: service.f

可以对Kubernetes入口(如kong、nginx)执行授权(基于规则的)。 例如,我有:

apiVersion:extensions/v1beta1

kind: Ingress
metadata:
  name: foo-bar
spec:
  rules:
  - host: api.foo.bar
    http:
      paths:
      - path: /service
        backend:
          serviceName: service.foo.bar
          servicePort: 80
但在重定向到/service之前,如果请求令牌具有传递/service的规则,我需要在授权api中执行一个调用,以使其有效


或者我真的需要在入口后面使用一个API网关,比如spring zuul来实现这一点?

ingress
清单只是控制器的输入。您还需要一个代理,一个能够理解
入口
对象的代理。Kong和Nginx是实施的两个例子

由Kubernetes社区提供,它有一个使用注释的示例

annotations:
  nginx.ingress.kubernetes.io/auth-url: "https://$host/oauth2/auth"
  nginx.ingress.kubernetes.io/auth-signin: "https://$host/oauth2/start?rd=$escaped_request_uri"

您可以使用Nginx Ingress Controller配置4种类型的身份验证,您可以在perfect的Nginx.Ingress.kubernetes.io/auth-url中找到这些文件!