Kubernetes Dashboard是什麼?
Kubernetes Dashboard是Kubernetes叢集的Web UI,使用者可以通過Dashboard進行管理叢集内所有資源對象,例如檢視資源對象的運作情況,部署新的資源對象,伸縮Deployment中的Pod數量等等一系列操作。
如何安裝 Kubernetes Dashboard
應用官方的DashBoard模闆
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta8/aio/deploy/recommended.yaml
檢查Kubernetes Dashboard運作情況
Deployment已建立并處于運作狀态
kubectl get deployment -n kuberenetes-dashboard

Pod已建立并處于運作狀态
kubectl get pods -n kuberenetes-dashboard
修改DashBoard的Service端口暴露模式為NodePort
kubectl edit service kubernetes-dashboard -n kubernetes-dashboard
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
nodePort: 30001
selector:
k8s-app: kubernetes-dashboard
建立Service Account 及 ClusterRoleBinding
vim auth.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
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: kubernetes-dashboard
kubectl apply -f auth.yaml
擷取通路 Kubernetes Dashboard所需的 Token
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
通路DashBoard UI
浏覽器通路
https://NodeIP:Port,并輸入Token
這個階段,我們已經成功進入到Kubernetes DashBoard,可以通過UI檢視到我們叢集的一些資源運作情況
使用技巧
由于Kubernetes與DashBoard版本不是一一對應的,對于部署前需要提前确認版本之間的相容性。
勾勾 表示 完全支援的版本範圍。
問号 表示 由于Kubernetes API版本之間的重大更改,某些功能可能無法在儀表闆中正常使用。