1. 程式人生 > >ASP.NET Core on K8S深入學習(7)Dashboard知多少

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

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連結。