# Dashboard
作為Kubernetes的Web用戶界面,用戶可以通過Dashboard在Kubernetes集群中部署容器化的應用,對應用進行問題處理和管理,并對集群本身進行管理。通過Dashboard,用戶可以查看集群中應用的運行情況,同時也能夠基于Dashboard創建或修改部署、任務、服務等Kubernetes的資源。通過部署向導,用戶能夠對部署進行擴縮容,進行滾動更新、重啟Pod和部署新應用。當然,通過Dashboard也能夠查看Kubernetes資源的狀態。
```shell
1.下載Dashboard(https://github.com/kubernetes/dashboard)
官方yaml文件
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
# vim ServiceAccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kube-system
# vim rbac.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: kubernetes-dashboard
namespace: kube-system
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: kubernetes-dashboard
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kube-system
roleRef:
kind: ClusterRole
name: cluster-admin
apiGroup: rbac.authorization.k8s.io
# vim k8s-admin.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kube-system
```
**# 在上面我創建basic_auth.csv文件時,直接給了admin用戶一個system:masters組,這個組擁有超級管理員權限,如果創建用戶的時候沒有授權,也可以通過rbac進行授權如下**:
```
#kubectl create clusterrolebinding login-on-dashboard-with-cluster-admin --clusterrole=cluster-admin --user=admin
clusterrolebinding "login-on-dashboard-with-cluster-admin" created
#kubectl get clusterrolebinding/login-on-dashboard-with-cluster-admin -o yaml
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
creationTimestamp: 2017-07-20T08:57:07Z
name: login-on-dashboard-with-cluster-admin
resourceVersion: "5363564"
selfLink: /apis/rbac.authorization.k8s.io/v1beta1/clusterrolebindingslogin-on-dashboard-with-cluster-admin
uid: 686a3f36-6d29-11e7-8f69-00163e1001d7
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- apiGroup: rbac.authorization.k8s.io
kubectl create -f .
```
訪問UI頁面:https://localhost:port
# DashboardUI頁面:
