2016-11-15 5 views
4

私は最近Kubernetes Operationsツールを使用してKubernetesをインストールしましたが、thisスクリプトを使用してKubernetes Dashboardをインストールした場合、ダッシュボードのエンドポイントはプライベートクラスタにあります。Kubernetes Dashboardを安全な認証の背後に置く方法は?

パブリックネットワーク上でサービスタイプLoadBalancerなどを使用してこのダッシュボードを公開し、パスワードまたは安全な認証の背後に置く方法はありますか?

このようなダッシュボードでは多くのことができます。そのため、私はそれを安全なエンドポイントの背後に置いておきたいのです。 auth-秘密によって示されるように、適切htpasswd秘密と並んで

apiVersion: extensions/v1beta1 
kind: Ingress 
metadata: 
    name: dashboard.mydomain.tld 
    namespace: kube-system 
    annotations: 
    kubernetes.io/ingress.class: "nginx" 
    ingress.kubernetes.io/auth-type: basic 
    ingress.kubernetes.io/auth-realm: "Auth required" 
    ingress.kubernetes.io/auth-secret: htpasswd 
spec: 
    rules: 
    - host: dashboard.mydomain.tld 
    http: 
     paths: 
     - path:/
     backend: 
      serviceName: <dashsvc> 
      servicePort: <dashport> 

:nginxのIngressControllerと相まってあなたが簡単に進入してそれを達成することができます

答えて

5

http://kubernetes.io/docs/user-guide/ingress/)は(https://github.com/kubernetes/contrib/tree/master/ingress/controllers/nginx

は、あなたのようなものを使用している場合注釈

apiVersion: v1 
kind: Secret 
metadata: 
    name: htpasswd 
    namespace: kube-system 
type: Opaque 
data: 
    auth: <your htpasswd base64> 

注:動作する入口コントローラが必要ですこれを使用して世界中にあなたのサービスを公開しています。 kube-legoと簡単に組み合わせてhttpsの自動サポートが可能なので、サービスが保護されたチャネル上に公開されます

+0

これを試しましたが、入力ルールが設定された後にページが読み込まれず、イングレスコントローラは間違いなく機能しています。 – Eroji

関連する問題