溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

k8s之Dashboard部署及使用

發(fā)布時(shí)間:2020-09-29 23:34:26 來源:網(wǎng)絡(luò) 閱讀:543 作者:wuseeger 欄目:云計(jì)算

前面章節(jié) Kubernetes 所有的操作我們都是通過命令行工具 kubectl 完成的。為了提供更豐富的用戶體驗(yàn),Kubernetes 還開發(fā)了一個(gè)基于 Web 的 Dashboard,用戶可以用 Kubernetes Dashboard 部署容器化的應(yīng)用、監(jiān)控應(yīng)用的狀態(tài)、執(zhí)行故障排查任務(wù)以及管理 Kubernetes 各種資源。

在 Kubernetes Dashboard 中可以查看集群中應(yīng)用的運(yùn)行狀態(tài),也能夠創(chuàng)建和修改各種 Kubernetes 資源,比如 Deployment、Job、DaemonSet 等。用戶可以 Scale Up/Down Deployment、執(zhí)行 Rolling Update、重啟某個(gè) Pod 或者通過向?qū)Р渴鹦碌膽?yīng)用。Dashboard 能顯示集群中各種資源的狀態(tài)以及日志信息。

可以說,Kubernetes Dashboard 提供了 kubectl 的絕大部分功能,大家可以根據(jù)情況進(jìn)行選擇。

安裝

Kubernetes 默認(rèn)沒有部署 Dashboard,可通過如下命令安裝:

kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml

Dashboard 會(huì)在 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   <none>        443/TCP   22m

因?yàn)?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: {}

保存修改,此時(shí)已經(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   <none>        443:30338/TCP   28m

通過瀏覽器訪問 Dashboard https://192.168.31.200:30338/,登錄界面如下:

配置登錄權(quán)限
Dashboard 支持 Kubeconfig 和 Token 兩種認(rèn)證方式,為了簡(jiǎn)化配置,我們通過配置文件 dashboard-admin.yaml 為 Dashboard 默認(rèn)用戶賦予 admin 權(quán)限。

執(zhí)行 kubectl apply 使之生效。

現(xiàn)在直接點(diǎn)擊登錄頁面的 SKIP 就可以進(jìn)入 Dashboard 了。

Dashboard的使用

Dashboard 界面結(jié)構(gòu)
Dashboard 的界面很簡(jiǎn)潔,分為三個(gè)大的區(qū)域。

頂部操作區(qū)
k8s之Dashboard部署及使用
在這里用戶可以搜索集群中的資源、創(chuàng)建資源或退出。

左邊導(dǎo)航菜單
通過導(dǎo)航菜單可以查看和管理集群中的各種資源。菜單項(xiàng)按照資源的層級(jí)分為兩類:
Cluster 級(jí)別的資源
k8s之Dashboard部署及使用
Namespace 級(jí)別的資源
k8s之Dashboard部署及使用
默認(rèn)顯示的是 default Namespace,可以進(jìn)行切換:

中間主體區(qū)
在導(dǎo)航菜單中點(diǎn)擊了某類資源,中間主體區(qū)就會(huì)顯示該資源所有實(shí)例,比如點(diǎn)擊 Pods。

典型使用場(chǎng)景
接下來我們介紹幾個(gè) Dashboard 的典型使用場(chǎng)景。

部署 Deployment
點(diǎn)擊頂部操作區(qū)的 + CREATE 按鈕。

k8s之Dashboard部署及使用

用戶可以直接輸入要部署應(yīng)用的名字、鏡像、副本數(shù)等信息;也可以上傳 YAML 配置文件。如果是上傳配置文件,則可以創(chuàng)建任意類型的資源,不僅僅是 Deployment。

在線操作
對(duì)于每種資源,都可以點(diǎn)擊 按鈕執(zhí)行各種操作。

k8s之Dashboard部署及使用

比如點(diǎn)擊 View/edit YAML 可直接修改資源的配置,保存后立即生效,其效果與 kubectl edit 一樣。
k8s之Dashboard部署及使用

查看資源詳細(xì)信息
點(diǎn)擊某個(gè)資源實(shí)例的名字,可以查看到詳細(xì)信息,其效果與 kubectl describe 一樣。

k8s之Dashboard部署及使用

查看 Pod 日志
在 Pod 及其父資源(DaemonSet、ReplicaSet 等)頁面點(diǎn)擊 按鈕,可以查看 Pod 的日志,其效果與 kubectl logs 一樣。

k8s之Dashboard部署及使用

Kubernetes Dashboard 界面設(shè)計(jì)友好,自解釋性強(qiáng),可以看作 GUI 版的 kubectl。

小結(jié)
本章介紹了Kubernetes Dashboard 的安裝和使用方法。Dashboard能完成日常管理的大部分工作,可以作為命令行工具 kubectl 的補(bǔ)充。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI