云計算
前面章節(jié) Kubernetes 所有的操作我們都是通過命令行工具 kubectl 完成的。為了提供更豐富的用戶體驗,Kubernetes 還開發(fā)了一個基于 Web 的 Dashboard,用戶可以用 Kubernetes Dashboard 部署容器化的應(yīng)用、監(jiān)控應(yīng)用的狀態(tài)、執(zhí)行故障排查任務(wù)以及管理 Kubernetes 各種資源。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),紅花崗企業(yè)網(wǎng)站建設(shè),紅花崗品牌網(wǎng)站建設(shè),網(wǎng)站定制,紅花崗網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,紅花崗網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。在 Kubernetes Dashboard 中可以查看集群中應(yīng)用的運行狀態(tài),也能夠創(chuàng)建和修改各種 Kubernetes 資源,比如 Deployment、Job、DaemonSet 等。用戶可以 Scale Up/Down Deployment、執(zhí)行 Rolling Update、重啟某個 Pod 或者通過向?qū)Р渴鹦碌膽?yīng)用。Dashboard 能顯示集群中各種資源的狀態(tài)以及日志信息。
可以說,Kubernetes Dashboard 提供了 kubectl 的絕大部分功能,大家可以根據(jù)情況進行選擇。
安裝Kubernetes 默認(rèn)沒有部署 Dashboard,可通過如下命令安裝:
kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
Dashboard 會在 kube-system namespace 中創(chuàng)建自己的 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 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: {}
保存修改,此時已經(jīng)為 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 443:30338/TCP 28m
通過瀏覽器訪問 Dashboard https://192.168.31.200:30338/,登錄界面如下:
配置登錄權(quán)限
Dashboard 支持 Kubeconfig 和 Token 兩種認(rèn)證方式,為了簡化配置,我們通過配置文件 dashboard-admin.yaml 為 Dashboard 默認(rèn)用戶賦予 admin 權(quán)限。
執(zhí)行 kubectl apply 使之生效。
現(xiàn)在直接點擊登錄頁面的 SKIP 就可以進入 Dashboard 了。
Dashboard的使用Dashboard 界面結(jié)構(gòu)
Dashboard 的界面很簡潔,分為三個大的區(qū)域。
頂部操作區(qū)
在這里用戶可以搜索集群中的資源、創(chuàng)建資源或退出。
左邊導(dǎo)航菜單
通過導(dǎo)航菜單可以查看和管理集群中的各種資源。菜單項按照資源的層級分為兩類:
Cluster 級別的資源
Namespace 級別的資源
默認(rèn)顯示的是 default Namespace,可以進行切換:
中間主體區(qū)
在導(dǎo)航菜單中點擊了某類資源,中間主體區(qū)就會顯示該資源所有實例,比如點擊 Pods。
典型使用場景
接下來我們介紹幾個 Dashboard 的典型使用場景。
部署 Deployment
點擊頂部操作區(qū)的 + CREATE 按鈕。
用戶可以直接輸入要部署應(yīng)用的名字、鏡像、副本數(shù)等信息;也可以上傳 YAML 配置文件。如果是上傳配置文件,則可以創(chuàng)建任意類型的資源,不僅僅是 Deployment。
在線操作
對于每種資源,都可以點擊 按鈕執(zhí)行各種操作。
比如點擊 View/edit YAML 可直接修改資源的配置,保存后立即生效,其效果與 kubectl edit 一樣。
查看資源詳細信息
點擊某個資源實例的名字,可以查看到詳細信息,其效果與 kubectl describe 一樣。
查看 Pod 日志
在 Pod 及其父資源(DaemonSet、ReplicaSet 等)頁面點擊 按鈕,可以查看 Pod 的日志,其效果與 kubectl logs 一樣。
Kubernetes Dashboard 界面設(shè)計友好,自解釋性強,可以看作 GUI 版的 kubectl。
小結(jié)
本章介紹了Kubernetes Dashboard 的安裝和使用方法。Dashboard能完成日常管理的大部分工作,可以作為命令行工具 kubectl 的補充。