您好,登錄后才能下訂單哦!
之前在kubernetes中完成的所有操作都是通過命令行工具kubectl完成的,為了提供更豐富的用戶體驗,kubernetes還開發了一個基于web的用戶界面(Dashboard)。用戶可以使用Dashboard部署容器化的應用,還可以監控應用的狀態,執行故障排查以及管理kubernetes中各種資源。
在kubernetes Dashboard中可以查看集群中應用的運行狀態,也能夠創建和修改各種kubernetes資源(比如Deployment,Job,Daemonset等等),用戶可以對Deployment實現彈性伸縮,執行滾動升級,重啟pod或者使用向導創建新的應用。
可以說,kubernetes Dashboard提供了kubectl的絕大部分功能。
Dashboard 同時展示了kubernetes集群中的資源狀態信息和所有報錯信息。
官方參考文檔:https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/
GitHub項目下載地址:https://github.com/kubernetes/dashboard
kubernetes 默認沒有部署Dashboard,可通過以下命令下載:
#將yaml文件下載到本地:
[root@master dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml
#修改yaml文件:
由于yaml文件中默認指定下載地址是國外的鏡像,由于國內網絡環境限制,我們通過阿里云鏡像站進行下載。
因為service是ClusterIP類型,為了使外部應用能夠方便使用,修改成NodePort類型。
##保存退出后,執行kubectl apply -f 創建dashboard:
##查看pod和service的狀態(dashboard會在kube-system 命令空間中創建自己的pod和service):
[root@master dashboard]# kubectl get pod -n kube-system | grep dashboard
kubernetes-dashboard-6cfb7d8f54-rp9nd 1/1 Running 0 2m23s
[root@master dashboard]# kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 94d
kubernetes-dashboard NodePort 10.108.35.182 <none> 443:32134/TCP 3m8s
#此時已經為service分配了32134端口,注意是443端口(https)
通過火狐瀏覽器訪問網址:https://172.16.1.30:32134/ 進入后界面如下:
可以看到Dashboard支持kubeconfig和Token兩種認證方式,本文選用Token的方式登錄,kubeconfig登陸方式可以參考文檔:http://note.youdao.com/noteshare?id=b0523244024d563cdc1bf7c8f7d6083c&sub=A8921821A7BE4CE4BC36B1DC86966460
通過Token的方式登錄:
1)創建一個dashboard管理用戶:
[root@master dashboard]# kubectl create serviceaccount dashboard-admin -n kube-system
serviceaccount/dashboard-admin created
2)綁定用戶為集群管理用戶:
[root@master dashboard]# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-cluster-admin created
3)獲取用戶的Token:
[root@master dashboard]# kubectl get secrets -n kube-system | grep dashboard-admin
dashboard-admin-token-4gdsc kubernetes.io/service-account-token 3 4m17s
4)查看該token的詳細信息:
[root@master dashboard]# kubectl describe secrets -n kube-system dashboard-admin-token-4gdsc
##把獲取到的Token復制到登錄界面的Token輸入框中:
##登陸成功后的web界面如下所示:
1,Dashboard界面結構
Dashboard的界面很簡潔,分為三個大的區域:
1)頂部操作區:在這里用戶可以搜索集群中的資源,創建資源或退出。
2)左邊導航菜單: 通過導航菜單可以查看和管理集群中的各種資源,菜單項按照資源的層級分為兩類:
Cluster 級別的資源:
NameSpace 級別的資源:
默認顯示的是default 的NameSpace,大家可以根據對應的Namespace進行切換。
3)中間主體區: 在導航菜單中點擊了某類資源,中間主體區就會顯示該資源的所有實例,比如點擊service資源
2,典型使用場景
接下來實踐幾個Dashboard的典型使用場景:
1,部署Deployment:
1)點擊頂部操作區的 + CREATE按鈕:
用戶可以直接輸入要部署應用的名字,鏡像,副本數等信息;用戶也可以YAML配置文件,如果是上傳YAML文件,則可以創建任意類型的資源,不僅僅是Deployment。
2,在線對資源進行操作:
對于每種資源,用戶都可以點擊右邊的下拉菜單執行各種操作(刪除,查看,編輯等)
##比如點擊View/edit YAML 可直接修改資源的配置,保存后立即生效,其效果與kubectl edit一樣。
3,查看資源的詳細信息
點擊某個資源實例的名字,可以查看到詳細信息,其效果與kubectl describe一樣。
4,查看Pod日志
在Pod或者父資源(DaemonSet,ReplicaSet等)頁面中點擊上方的“LOGS”按鈕,可以查看Pod的日志(查看器可以查看同一個pod的不同容器的日志),其效果與在命令行執行kubectl logs一樣。
小結:
以上就是kubernetes Dashboard的安裝和使用方法。Dashboard能完成日常管理的大部分工作,可以作為命令行工具kubectl的補充。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。