Kubernetes 如何在入口中为包含的url规则设置基本身份验证?

Kubernetes 如何在入口中为包含的url规则设置基本身份验证?,kubernetes,google-kubernetes-engine,kubernetes-ingress,nginx-ingress,Kubernetes,Google Kubernetes Engine,Kubernetes Ingress,Nginx Ingress,我有一个关于k8s的项目,有3个服务,我想用基本的auth来覆盖,还有1个服务我想公开。 在ingress 4中,由url规则划分的具有不同前缀的服务。 我在ingress中找到了关于所有规则的基本身份验证设置的教程,但没有关于排除的、包含的URL的教程。不幸的是,GCP ingress不提供身份验证,因为此功能特定于 作为GCP入口中basic auth的变通方法,您可以使用IAP。详细的如何信息可在文章中找到 如果您仍然想使用Nginx-ingres-basic-auth,可以在GKE上执行

我有一个关于k8s的项目,有3个服务,我想用基本的auth来覆盖,还有1个服务我想公开。 在ingress 4中,由url规则划分的具有不同前缀的服务。
我在ingress中找到了关于所有规则的基本身份验证设置的教程,但没有关于排除的、包含的URL的教程。

不幸的是,
GCP ingress
不提供身份验证,因为此功能特定于

作为
GCP入口中
basic auth
的变通方法,您可以使用
IAP
。详细的
如何
信息可在文章中找到

如果您仍然想使用
Nginx-ingres-basic-auth
,可以在
GKE
上执行,但需要指定
Nginx
注释

metadata:
  name: foo
  annotations:
    kubernetes.io/ingress.class: "nginx"
   annotations:
      nginx.ingress.kubernetes.io/configuration-snippet: |

      location /specificpath {

           deny all;  
      }
关于在四个服务中仅对一个服务使用
basic auth
,您可以创建一个2
ingres
。在另一个stackoverflow线程中讨论了非常类似的问题,它包含了很好的解决方案-

基本身份验证入口 首先,入口应无注释:

  • nginx.ingres.kubernetes.io/auth-type
  • nginx.ingres.kubernetes.io/auth-secret
  • nginx.ingres.kubernetes.io/auth-realm
第二个
入口
应该包含正确的注释,并且看起来应该类似于下面的YAML

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: auth-ingress
  annotations:
    kubernetes.io/ingress.class: "nginx"
    nginx.ingress.kubernetes.io/auth-type: basic
    nginx.ingress.kubernetes.io/auth-secret: basic-auth
    nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required'
    #cert-manager.io/cluster-issuer: if you would use cert manager like letsencrypt
spec:
  tls:
    - hosts:
        - example.com
      secretName: example-tls
  rules:
    - host: example.com
      http:
        paths:
          - path: /auth
            backend:
              serviceName: auth-service
              servicePort: <auth-service-port>

我想这可以帮助你“AndreiStoicescu,THX,我看了这个问题,我认为这不是一个理想的解决方案,但是它可以很好地工作。你已经使用了很多标签,没有详细说明你的环境细节。您是否正在使用谷歌云并希望使用GCP Ingress或Nginx Ingress?或者这就是你的本地环境?我在使用谷歌云,使用GCP对我有好处