1. 程式人生 > >DashBoard使用者介面_Kubernetes中文社群

DashBoard使用者介面_Kubernetes中文社群

1部署Dashboard使用者介面

作為Kubernetes的Web使用者介面,使用者可以通過Dashboard在Kubernetes叢集中部署容器化的應用,對應用進行問題處理和管理,並對叢集本身進行管理。通過Dashboard,使用者可以檢視叢集中應用的執行情況,同時也能夠基於Dashboard建立或修改部署、任務、服務等Kubernetes的資源。通過部署嚮導,使用者能夠對部署進行擴縮容,進行滾動更新、重啟Pod和部署新應用。當然,通過Dashboard也能夠檢視Kubernetes資源的狀態。下面是部署Dashboard的過程:

1)下載kubernetes-dashboard.yaml

檔案

2)編輯kubernetes-dashboard.yaml檔案

通過編輯工具開啟kubernetes-dashboard.yaml,並在此檔案中的Service部分下新增type: NodePort和nodePort: 30001,新增位置如下圖所示。

3)通過執行如下的命令部署Web UI

# kubectl create -f  {path}/kubernetes-dashboard.yaml

2、訪問Dashboard使用者介面

在Dashboard部署完成後,就可以服務

1)在瀏覽器中輸入:https://{Master IP}:30001,此處為:https://10.0.32.175:3001,開啟頁面如下:

2)建立一個管理員使用者

建立amind-user.yaml檔案,檔案內容如下:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
namespace: kube-system

---

apiVersion: rbac.authorization.k8s.io/v1beta1kind: ClusterRoleBinding
metadata:
  name: admin-user
  annotations:
    rbac.authorization.kubernetes.io/autoupdate
: "true"
roleRef:   apiGroup: rbac.authorization.k8s.io   kind: ClusterRole   name: cluster-admin subjects: - kind: ServiceAccount   name: admin-user namespace: kube-system

通過執行如下命令建立admin-user:

#kubectl create -f {path}/admin-user.yaml

3)獲取管理員使用者的Token

通過執行如下命令獲取系統Token資訊:

#kubectl describe  secret admin-user --namespace=kube-system

4)新增Tokenkubeconfig檔案

通過編輯工具開啟kubeconfig檔案(~/.kube/config),並新增Token。

5)匯入kubeconfig檔案

在介面中匯入kubeconfig檔案。

3、使用Dashboard

3.1 Dashboard提供的功能

在預設情況下,Dashboard顯示預設(default)名稱空間下的物件,也可以通過名稱空間選擇器選擇其他的名稱空間。在Dashboard使用者介面中能夠顯示叢集大部分的物件型別。

1)叢集管理

叢集管理檢視用於對節點、名稱空間、持久化儲存卷、角色和儲存類進行管理。 節點檢視顯示CPU和記憶體的使用情況,以及此節點的建立時間和執行狀態。 名稱空間檢視會顯示叢集中存在哪些名稱空間,以及這些名稱空間的執行狀態。角色檢視以列表形式展示叢集中存在哪些角色,這些角色的型別和所在的名稱空間。 持久化儲存卷以列表的方式進行展示,可以看到每一個持久化儲存卷的儲存總量、訪問模式、使用狀態等資訊;管理員也能夠刪除和編輯持久化儲存卷的YAML檔案。

2) 工作負載

工作負載檢視顯示部署、副本集、有狀態副本集等所有的工作負載型別。在此檢視中,各種工作負載會按照各自的型別進行組織。 工作負載的詳細資訊檢視能夠顯示應用的詳細資訊和狀態資訊,以及物件之間的關係。

3) 服務發現和負載均衡

服務發現檢視能夠將叢集內容的服務暴露給叢集外的應用,叢集內外的應用可以通過暴露的服務呼叫應用,外部的應用使用外部的端點,內部的應用使用內部端點。

4) 儲存

儲存檢視顯示被應用用來儲存資料的持久化儲存卷申明資源。

5) 配置

配置檢視顯示叢集中應用執行時所使用配置資訊,Kubernetes提供了配置字典(ConfigMaps)和祕密字典(Secrets),通過配置檢視,能夠編輯和管理配置物件,以及檢視隱藏的敏感資訊。

6) 日誌檢視

Pod列表和詳細資訊頁面提供了檢視日誌檢視的連結,通過日誌檢視不但能夠檢視Pod的日誌資訊,也能夠檢視Pod容器的日誌資訊。通過Dashboard能夠根據嚮導建立和部署一個容器化的應用,當然也可以通過手工的方式輸入指定應用資訊,或者通過上傳YAML和JSON檔案來建立和不受應用。

3.2 部署應用

1)手動建立應用

通過嚮導建立和部署容器化應用時,需要提供如下的一些資訊:

  • 應用名稱(App name 必需): 需要部署的應用的名稱。帶有此值的標籤將會被新增至部署和服務中。在當前的Kubernetes名稱空間中,應用名稱必須是唯一的。同時,應用名稱必須以小寫字母開頭,以小寫字母和數字結尾,可以包含字母、數字和“-”。名稱最長為24個字母。
  • 容器組個數(Number of pods 必需): 希望部署的容器組數量。值必須為整數。
  • 描述(Description): 對於應用的描述,將被新增至部署的註釋中,並在應用詳細資訊中顯示。
  • 標籤(Labels): 應用的預設標籤為應用的名稱和版本。可以指定其它的標籤,這些標籤將會被應用至部署、服務、容器組等資源中
  • 名稱空間(Namespace):在同一個物理叢集中,Kubernetes支援多個虛擬叢集。這些虛擬叢集被稱為名稱空間,通過名稱空間可以將資源進行邏輯上的劃分。通過下列選單可以選擇已有的名稱空間,當然也可以建立新的名稱空間。名稱空間的名稱最大的字元數為63,名詞可以使用字母、數字“-”,不能包含大寫字母,同時也不能全部使用數字。
  • 映象拉取保密字典(Image Pull Secret): 如果Docker容器映象是私有的,則有可能需要保密證書。Dashboard通過下拉選單提供了所有的可用的保密憑證,也允許建立新的保密字典。保密字典名稱必須遵循DNS域名語法,例如:new.image-pull.secret。保密字典的內容必須使用基於base64進行加密的,並在.dockercfg檔案中進行指定。保密字典名稱最長不能超過253個字元。
  • 環境變數(Environment variables): Kubernetes通過環境變數暴露服務, 可以建立環境變數或者使用環境變數的值將引數傳遞給命令。環境變數能夠被應用用來發現服務,環境變數的值可以通過¥(VAR_NAME)語法被其它變數引用。

2)上傳YAML或JSON檔案建立應用

通過編譯工具編寫容器化應用的YAML和JSON檔案,在Dashboard使用者介面中通過上傳檔案建立和部署應用。

參考材料

作者簡介:
季向遠,北京神舟航天軟體技術有限公司產品經理。本文版權歸原作者所有。