ASP.NET Core on K8S深入學習(7)Dashboard知多少
本篇已加入《.NET Core on K8S學習實踐系列文章索引》,可以點選檢視更多容器化技術相關係列文章。
在第二篇《部署過程解析與Dashboard》中介紹瞭如何部署Dashboard,但是沒有更多地介紹如何使用Dashboard,本文就來對Dashboard的使用進行補充。
一、關於K8S Dashboard
K8S Dashboard是官方的一個基於Web的使用者介面,專門用來管理K8S叢集,並可展示叢集的狀態、執行故障排查即管理K8S的各種資源。
K8S Dashboard 提供了 kubectl
的絕大部分功能,我們可以根據情況進行選擇。
K8S叢集安裝好後預設沒有包含Dashboard,我們需要額外建立它。
二、安裝與配置Dashboard
2.1 安裝Dashboard
請參考我之前的文章《ASP.NET Core on K8S深入學習(2)部署過程解析與Dashboard》一文進行安裝部署Dashboard,此處不再贅述。
2.2 配置Dashboard
Dashboard支援kubeconfig和token兩種認證方式,預設情況下每次都需要重新整理kubeconfig或獲取token。因此為了簡化配置,我們可以通過修改配置檔案為Dashboard使用者預設賦予admin許可權。
配置檔案dashboard-admin.yaml如下:
apiVersion: rbac.authorization.k8s.io/v1beta1 kind: ClusterRoleBinding metadata: name: kubernetes-dashboard labels: k8s-app: kubernetes-dashboard roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: kubernetes-dashboard namespace: kube-system
然後通過kubectl apply使之生效:
kubectl apply -f dashboard-admin.yaml
現在,我們再次進入Dashboard的登入介面,就可以選擇Skip按鈕跳過認證進入Dashboard主介面了。
2.3 Dashboard介面
(1)導航區
Dashboard左部為導航選單區域,通過導航選單可以檢視和管理叢集中的各種資源:
① Cluster級別資源
② Namespace級別的資源
(2)主體區
在導航選單中選中了具體的某類資源,中間主題區就會顯示該資源所有的示例。下圖就是選擇容器組(Pods)後的主體區域內容:
三、Dashboard的使用場景
3.1 快速部署應用
Dashboard右上角點選建立按鈕:
會彈出以下介面:
可以看到,我們可以直接在Web介面中輸入我們要部署的應用的一些資訊,比如輸入名字,選擇映象,設定副本數等等等等。
不過,還是建議通過上傳YAML配置檔案的方式進行部署:
通過YAML配置檔案上傳的話,可以部署Deployment、DaemonSet、Job等各種型別的資源,並且足夠快速。下圖是點選上傳之後跳轉到具體Deployment之後的效果:
3.2 線上操作具體資源
對於K8S的各種資源,我們都可以通過單擊按鈕執行各種操作,如下圖所示:
可以看出,我們可以對剛剛上傳的Deployment進行伸縮(Scale Up)、刪除以及檢視/編輯YAML配置檔案。
(1)伸縮
例如剛剛上傳的YAML配置檔案中副本數定義為2,這時我們想要增加一個副本到3:
(2)檢視/編輯YAML配置檔案
如果想要進行更多的配置修改,可以直接點選檢視/編輯YAML進行修改,修改之後點選更新即可快速應用新配置:
3.3 檢視資源詳情
如果想對某個資源檢視其詳細資訊,比如Labels、Strategy、Selector等等,就像我們之前使用kubectl describe一樣,那我們只需要點選某個資源就可以跳轉詳情頁檢視。這裡比如我們點選剛剛上傳的Deployment:
3.4 線上檢視Pod日誌
在容器組(Pods)頁面選擇某個具體的Pod單擊按鈕,即可檢視Pod的日誌,與我們輸入kubectl logs效果一樣。
四、小結
本文介紹了K8S Dashboard的安裝和使用,基於K8S Dashboard我們可以完成日常管理的大部分工作,可以作為命令列工具kubectl的補充。當然,本文介紹的Dashboard的使用只是一些最典型的場景,還有很多的實用功能需要我們去探索和發現。
參考資料
(1)CloudMan,《每天5分鐘玩轉Kubernetes》
(2)李振良,《一天入門Kubernets教程》
(3)馬哥(馬永亮),《Kubernetes快速入門》
作者:周旭龍
出處:https://edisonchou.cnblogs.com
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結。