2017-08-03 18 views
0

私は他のサービスからkubernetesの中に自分のデータを集めています。私は、私のサービスを公開するために定義されたnginxの入口コントローラを持っています。 zipkinは管理者であるため、私はそれをあるセキュリティの背後に置いていきたいです。基本認証そして「#problematicライン - 停止」 - 私は「スタート#problematicライン」としてマークされた3行を追加した場合、私のzipkinフロントの下に表示されなくなり、私はそれがhttps://github.com/kubernetes/ingress/tree/master/examples/auth/basic/nginx であり、ここで難しいことで作成されています503kubernetes nginx ingress zipkin basic-auth

を取得します。

apiVersion: v1 
kind: Service 
metadata: 
    name: zipkin 
    labels: 
    app: zipkin 
    tier: monitor 
spec: 
    ports: 
    - port: 9411 
    targetPort: 9411 
    selector: 
    app: zipkin 
    tier: monitor 
--- 
apiVersion: apps/v1beta1 
kind: Deployment 
metadata: 
    name: zipkin 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: zipkin 
     tier: monitor 
    spec: 
     containers: 
     - name: zipkin 
     image: openzipkin/zipkin 
     resources: 
      requests: 
      memory: "300Mi" 
      cpu: "100m" 
      limits: 
      memory: "500Mi" 
      cpu: "250m" 
     ports: 
     - containerPort: 9411 
--- 
apiVersion: v1 
kind: Service 
metadata: 
    name: zipkin-ui 
    labels: 
    app: zipkin-ui 
    tier: monitor 
spec: 
    ports: 
    - port: 80 
    targetPort: 80 
    selector: 
    app: zipkin-ui 
    tier: monitor 
--- 
apiVersion: apps/v1beta1 
kind: Deployment 
metadata: 
    name: zipkin-ui 
spec: 
    replicas: 1 
    template: 
    metadata: 
     labels: 
     app: zipkin-ui 
     tier: monitor 
    spec: 
     containers: 
     - name: zipkin-ui 
     image: openzipkin/zipkin-ui 
     resources: 
      requests: 
      memory: "300Mi" 
      cpu: "100m" 
      limits: 
      memory: "500Mi" 
      cpu: "250m" 
     ports: 
     - containerPort: 80 
     env: 
     - name: ZIPKIN_BASE_URL 
      value: "http://zipkin:9411" 
--- 
apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: zipkin 
    namespace: default 
    annotations: 
    kubernetes.io/ingress.class: "nginx" 
    ingress.kubernetes.io/enable-cors: "true" 
    ingress.kubernetes.io/ssl-redirect: "false" 
#problematic lines - start 
    ingress.kubernetes.io/auth-type: basic 
    ingress.kubernetes.io/auth-secret: basic-auth 
    ingress.kubernetes.io/auth-realm: "Authentication Required" 
#problematic lines - stop 
spec: 
    rules: 
    - host: "zipkin.lalala.com" 
    http: 
     paths: 
     - path:/
     backend: 
      serviceName: zipkin-ui 
      servicePort: 80 

私はそれが可能infulenceについてではありませんかはわからないが、私はいくつかのCORSルールを変更するために、必要に応じて、私は私のnginxの侵入コントローラ用のテンプレートとしてhttps://github.com/kubernetes/ingress/blob/master/controllers/nginx/rootfs/etc/nginx/nginx.confファイルを使用していました。私は一部を見る:

{{ if $location.BasicDigestAuth.Secured }} 
{{ if eq $location.BasicDigestAuth.Type "basic" }} 
auth_basic "{{ $location.BasicDigestAuth.Realm }}"; 
auth_basic_user_file {{ $location.BasicDigestAuth.File }}; 
{{ else }} 
auth_digest "{{ $location.BasicDigestAuth.Realm }}"; 
auth_digest_user_file {{ $location.BasicDigestAuth.File }}; 
{{ end }} 
proxy_set_header Authorization ""; 
{{ end }} 

しかし、私は結果が表示されません:kubectl exec nginx-ingress-controller-lalala-lalala -n kube-system cat /etc/nginx/nginx.conf | grep auth。この私の推測のために、私はこれを作るためにいくつかの注釈を加える必要があるということです{{ if $location.BasicDigestAuth.Secured }}一部の仕事。残念ながら私はそれについて何も見つけることができません。

答えて

0

同じ設定が、入力9.0-beta.11で実行されています。私はちょうど誤設定だと思う。

最初に、テンプレートを変更せずにデフォルト値を使用し、基本認証が機能するときに変更することをお勧めします。

イングレスのログにはどのようなものがありますか?入力リソースの同じ名前空間にbasic-authファイルを作成しましたか?

関連する問題