2017-08-28 91 views
2

是否有可能有限制 Kubernetes儀表板?這個想法是有集羣中運行kubectl proxy吊艙(與基本的HTTP驗證保護)獲得的狀態的快速瀏覽:豆莢 受限制的Kubernetes儀表板?

  • 正在運行的服務和豆莢
  • 當前的

    • 日誌輸出CPU /內存使用率

    不過,我確實不希望用戶能夠做到「特權」的行爲,如創建新的吊艙,吊艙刪除或訪問機密。

    是否有一些選項可以使用指定用戶或限制權限啓動儀表板?

  • 回答

    2

    應該可以在啓用了RBAC的kubernetes中使用。 您無需運行kubectl proxy的吊艙。 我不確定是否可以爲同一個窗格擁有2組不同的權限,但最糟糕的情況是您必須運行2個儀表板。

    基本上,你需要做的是:在集羣

    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