
# 上傳dashboard配置
$ scp target/addons/dashboard-all.yaml <user>@<node-ip>:/etc/kubernetes/addons/
# 建立服務
$ kubectl apply -f /etc/kubernetes/addons/dashboard-all.yaml
# 檢視服務運作情況
$ kubectl get deployment kubernetes-dashboard -n kube-system
$ kubectl --namespace kube-system get pods -o wide
$ kubectl get services kubernetes-dashboard -n kube-system
$ netstat -ntlp|grep 8401
2. 通路dashboard為了叢集安全,從 1.7 開始,dashboard 隻允許通過 https 通路,我們使用nodeport的方式暴露服務,可以使用 https://NodeIP:NodePort 位址通路
關于自定義證書
預設dashboard的證書是自動生成的,肯定是非安全的證書,如果大家有域名和對應的安全證書可以自己替換掉。使用安全的域名方式通路dashboard。
在dashboard-all.yaml中增加dashboard啟動參數,可以指定證書檔案,其中證書檔案是通過secret注進來的。
- –tls-cert-file
- dashboard.cer
- –tls-key-file
- dashboard.key
3. 登入dashboardDashboard 預設隻支援 token 認證,是以如果使用 KubeConfig 檔案,需要在該檔案中指定 token,我們這裡使用token的方式登入
# 建立service account
$ kubectl create sa dashboard-admin -n kube-system
# 建立角色綁定關系
$ kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# 檢視dashboard-admin的secret名字
$ ADMIN_SECRET=$(kubectl get secrets -n kube-system | grep dashboard-admin | awk '{print $1}')
# 列印secret的token
$ kubectl describe secret -n kube-system ${ADMIN_SECRET} | grep -E '^token' | awk '{print $2}'