2017-08-28 11 views
2

が制限されている可能性がありますか? Kubernetesダッシュボード?サービスやポッド 制限付きKubernetesダッシュボード?

  • 電流を流すポッド
    • ログ出力:アイデアは、ステータスの概要を取得するには、クラスタ内のkubectl proxyを実行しているポッドを持っている(基本的なHTTP認証で保護されている)でありますCPU /メモリ使用量

    しかし、私はないは、ユーザーが、新しいポッドを作成するポッドを削除したり、秘密をアクセスするような「特権」アクションを行うことができるようにしたいです。

    指定したユーザーまたは制限付きのアクセス許可でダッシュボードを起動するオプションはありますか?

  • 答えて

    2

    RBACが有効になっているkubernetesでは可能です。 kubectl proxyでポッドを実行する必要はありません。 同じポッドに対して2つの異なる権限セットを使用できるかどうかはわかりませんが、最悪の場合は2つのダッシュボードを実行する必要があります。

    は基本的に、何をする必要がある:RBAC

  • で読み取り専用の権限を持つクラスタ内の

  • 1

    を追加lwolfからの答えに基づいて、私はthe kubernetes-dashboard.yamlを使い、デフォルトの名前空間でスレーブ上で実行するように変更しました。

    重要な変更点は、kind: ClusterRole, name: viewの部分です。ビューロールをダッシュ​​ボードユーザーに割り当てます。

    apiVersion: v1 
    kind: ServiceAccount 
    metadata: 
        labels: 
        k8s-app: kubernetes-dashboard 
        name: ro-dashboard 
    --- 
    apiVersion: rbac.authorization.k8s.io/v1beta1 
    kind: ClusterRoleBinding 
    metadata: 
        name: ro-dashboard 
        labels: 
        k8s-app: kubernetes-dashboard 
    roleRef: 
        apiGroup: rbac.authorization.k8s.io 
        kind: ClusterRole 
        name: view 
    subjects: 
    - kind: ServiceAccount 
        name: ro-dashboard 
        apiGroup: '' 
        namespace: default 
    --- 
    kind: Deployment 
    apiVersion: extensions/v1beta1 
    metadata: 
        labels: 
        k8s-app: kubernetes-dashboard 
        name: ro-dashboard 
    spec: 
        replicas: 1 
        revisionHistoryLimit: 0 
        selector: 
        matchLabels: 
         k8s-app: kubernetes-dashboard 
        template: 
        metadata: 
         labels: 
         k8s-app: kubernetes-dashboard 
        spec: 
         containers: 
         - name: kubernetes-dashboard 
         image: gcr.io/google_containers/kubernetes-dashboard-amd64:v1.6.3 
         ports: 
         - containerPort: 9090 
          protocol: TCP 
         livenessProbe: 
          httpGet: 
          path:/
          port: 9090 
          initialDelaySeconds: 30 
          timeoutSeconds: 30 
         serviceAccountName: ro-dashboard 
    --- 
    kind: Service 
    apiVersion: v1 
    metadata: 
        labels: 
        k8s-app: kubernetes-dashboard 
        name: ro-dashboard 
    spec: 
        type: LoadBalancer 
        ports: 
        - port: 80 
        targetPort: 9090 
        selector: 
        k8s-app: kubernetes-dashboard 
    
    +0

    ダッシュボードでも秘密を作成する必要があるため、これはもう機能しません – VsMaX