您好,登錄后才能下訂單哦!
前面章節 Kubernetes 所有的操作我們都是通過命令行工具 kubectl 完成的。為了提供更豐富的用戶體驗,Kubernetes 還開發了一個基于 Web 的 Dashboard,用戶可以用 Kubernetes Dashboard 部署容器化的應用、監控應用的狀態、執行故障排查任務以及管理 Kubernetes 各種資源。
在 Kubernetes Dashboard 中可以查看集群中應用的運行狀態,也能夠創建和修改各種 Kubernetes 資源,比如 Deployment、Job、DaemonSet 等。用戶可以 Scale Up/Down Deployment、執行 Rolling Update、重啟某個 Pod 或者通過向導部署新的應用。Dashboard 能顯示集群中各種資源的狀態以及日志信息。
可以說,Kubernetes Dashboard 提供了 kubectl 的絕大部分功能,大家可以根據情況進行選擇。
Kubernetes 默認沒有部署 Dashboard,可通過如下命令安裝:
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
Dashboard 會在 kube-system namespace 中創建自己的 Deployment 和 Service。
[root@k8s-master ~]# kubectl get deployments. -n kube-system kubernetes-dashboard -o wide
NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR
kubernetes-dashboard 1/1 1 1 20m kubernetes-dashboard k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1 k8s-app=kubernetes-dashboard
[root@k8s-master ~]# kubectl get service -n kube-system kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard ClusterIP 10.108.187.212 <none> 443/TCP 22m
因為 Service 是 ClusterIP 類型,為了方便使用,我們可通過 kubectl --namespace=kube-system edit service kubernetes-dashboard 修改成 NodePort 類型。
spec:
clusterIP: 10.108.187.212
externalTrafficPolicy: Cluster
ports:
- nodePort: 30338
port: 443
protocol: TCP
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
sessionAffinity: None
type: NodePort
status:
loadBalancer: {}
保存修改,此時已經為 Service 分配了端口 30338。
[root@k8s-master ~]# kubectl get service -n kube-system kubernetes-dashboard
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard NodePort 10.108.187.212 <none> 443:30338/TCP 28m
通過瀏覽器訪問 Dashboard https://192.168.31.200:30338/,登錄界面如下:
配置登錄權限
Dashboard 支持 Kubeconfig 和 Token 兩種認證方式,為了簡化配置,我們通過配置文件 dashboard-admin.yaml 為 Dashboard 默認用戶賦予 admin 權限。
執行 kubectl apply 使之生效。
現在直接點擊登錄頁面的 SKIP 就可以進入 Dashboard 了。
Dashboard 界面結構
Dashboard 的界面很簡潔,分為三個大的區域。
頂部操作區
在這里用戶可以搜索集群中的資源、創建資源或退出。
左邊導航菜單
通過導航菜單可以查看和管理集群中的各種資源。菜單項按照資源的層級分為兩類:
Cluster 級別的資源
Namespace 級別的資源
默認顯示的是 default Namespace,可以進行切換:
中間主體區
在導航菜單中點擊了某類資源,中間主體區就會顯示該資源所有實例,比如點擊 Pods。
典型使用場景
接下來我們介紹幾個 Dashboard 的典型使用場景。
部署 Deployment
點擊頂部操作區的 + CREATE 按鈕。
用戶可以直接輸入要部署應用的名字、鏡像、副本數等信息;也可以上傳 YAML 配置文件。如果是上傳配置文件,則可以創建任意類型的資源,不僅僅是 Deployment。
在線操作
對于每種資源,都可以點擊 按鈕執行各種操作。
比如點擊 View/edit YAML 可直接修改資源的配置,保存后立即生效,其效果與 kubectl edit 一樣。
查看資源詳細信息
點擊某個資源實例的名字,可以查看到詳細信息,其效果與 kubectl describe 一樣。
查看 Pod 日志
在 Pod 及其父資源(DaemonSet、ReplicaSet 等)頁面點擊 按鈕,可以查看 Pod 的日志,其效果與 kubectl logs 一樣。
Kubernetes Dashboard 界面設計友好,自解釋性強,可以看作 GUI 版的 kubectl。
小結
本章介紹了Kubernetes Dashboard 的安裝和使用方法。Dashboard能完成日常管理的大部分工作,可以作為命令行工具 kubectl 的補充。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。