天天看點

可視化界面dashboard極簡安裝教程

可視化界面dashboard極簡安裝教程

1.為什麼使用可視化界面

當安裝完node後,需要使用kubectl執行與操作,但是一直使用指令行對于新入手的我們來說可能比較繁瑣。是以能否有一種可視化頁面,直接在頁面上指指點點,就能完成指令的工作呢。

官方提供了Dashboard插件作為可視化工具。強烈建議使用。

建議在日常操作時,bashboard與kubectl一起使用更佳。

2.安裝

1.下載下傳檔案

選擇檔案夾,下載下傳recommended.yaml到檔案夾中。

wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.3/aio/deploy/recommended.yaml
複制代碼      

2.修改配置

下載下傳後,需要修改配置。

vi recommended.yaml
複制代碼      

我們需要更改

type為NodePort

,指定其外網可以通路,否則其他電腦會通路不到,請注意!

可視化界面dashboard極簡安裝教程

3.安裝

将 Dashboard添加至k8s

kubectl apply -f recommended.yaml
複制代碼      

4.驗證

kubectl -n kubernetes-dashboard get all -l k8s-app=kubernetes-dashboard
複制代碼      

通過下圖可能看到對外映射的端口為32241,每個人可能都不相同,請自行替換。

可視化界面dashboard極簡安裝教程

  也可以看到啟動後的端口 可以使用以下指令測試通路。

kubectl -n kubernetes-dashboard port-forward pod/kubernetes-dashboard-5c785c8bcf-z94nt 32241 //通路
複制代碼      
pod/kubernetes-dashboard-5c785c8bcf-z94nt與端口都是上文圖中擷取,每個人的配置都不相同,請自行修改。

如果出現安裝錯誤,可以執行以下指令檢視報錯資訊。

sudo kubectl logs kubernetes-dashboard-6dccb458d5-x7xft --namespace=kubernetes-dashboard
複制代碼      

5.建立使用者

k8s使用rbac權限,是以必須使用特殊的使用者才能夠通路。在登入時,要求使用token,是以需要擷取到建立使用者的token。

可視化界面dashboard極簡安裝教程
#建立dashboard-admin賬戶
kubectl create serviceaccount dashboard-admin -n kubernetes-dashboard
 
#将dashboard-admin使用者授cluster-admin權限(clusterrole為叢集管理權限)
kubectl create clusterrolebinding dashboard-admin-rb --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin
 
#擷取賬号token
kubectl get secrets -n kubernetes-dashboard |grep dashboard-admin
 
通過賬号擷取token(此處dashboard-admin-token-xxxx為上文擷取)
kubectl describe secrets dashboard-admin-token-xxxx -n kubernetes-dashboard
複制代碼      

在執行指令時,生成的部分id不同,請自行對應替換。

建立使用者擷取token後登入後,看不到具體資訊,或者報錯(

statefulsets.apps is forbidden: User "system:serviceaccount:kubernetes-dashb.......

),肯定是使用者問題。請重新執行以上指令。

6.通路

通路 ip:32241

上文擷取到的端口号,請根據上文擷取自行修改。
可視化界面dashboard極簡安裝教程

登入時,選擇token,并把上文擷取到token複制并輸入。

3.解除安裝

如果安裝的的dashboard錯誤,可以解除安裝重新安裝。

kubectl get secret,sa,role,rolebinding,services,deployments --namespace=kubernetes-dashboard | grep dashboard
 
kubectl delete deployment kubernetes-dashboard --namespace=kubernetes-dashboard  
kubectl delete service kubernetes-dashboard  --namespace=kubernetes-dashboard 
kubectl delete role kubernetes-dashboard-minimal --namespace=kubernetes-dashboard
kubectl delete rolebinding kubernetes-dashboard-minimal --namespace=kubernetes-dashboard
kubectl delete sa kubernetes-dashboard --namespace=kubernetes-dashboard
kubectl delete secret kubernetes-dashboard-certs --namespace=kubernetes-dashboard
kubectl delete secret kubernetes-dashboard-key-holder --namespace=kubernetes-dashboard
複制代碼