Kubernetes dashboardv2.7.0安裝指南:從零開始搭建可視化界面
一、K8S管理控制臺
Kubernetes Web UI(或Kubernetes Dashboard)是用于管理和監視Kubernetes集群的不同工具和用戶界面。以下是一些常見的Kubernetes Web UI工具和用戶界面:
- Kubernetes Dashboard: Kubernetes官方提供的Web用戶界面,用于管理和監視Kubernetes集群中的各種資源。它是最常見和廣泛使用的Kubernetes Web UI。
- KubeSphere: KubeSphere是一個開源的容器化應用管理平臺,提供了一個Web UI,用于創建、部署和管理容器化應用程序,以及監視和調優Kubernetes集群。
- Rancher: Rancher是一個用于管理和操作Kubernetes、Docker和其他容器編排引擎的平臺。它提供了一個直觀的Web界面,支持多個Kubernetes集群的管理。
- Octant: Octant是一個開源的Kubernetes Web UI工具,它提供了直觀的集群資源查看和交互式探索功能,可以幫助開發人員更容易地理解和調試他們的應用程序。
- Lens: Lens是一個強大的開源Kubernetes IDE,提供了一個跨平臺的桌面應用程序,用于管理和監視Kubernetes集群。它支持多個集群、多個命名空間和內置的CLI終端。
- Kubernetes Web View: Kubernetes Web View是一個輕量級的開源Web UI,用于查看和導航Kubernetes集群中的資源。它的設計簡單,適用于快速查看集群狀態。
- K9s: 雖然不是傳統的Web UI,但K9s是一個基于終端的TUI(文本用戶界面)工具,用于管理和監視Kubernetes集群。它提供了強大的命令行交互性能。
- Supergiant: Supergiant是一個用于部署、管理和監視Kubernetes集群的平臺。它提供了一個Web界面,用于自動化Kubernetes基礎設施。
二、Kubernetes-Dashboard v2.7.0
Kubernetes Dashboard 是 Kubernetes 的官方 Web UI。它提供了集群的詳細信息和管理功能。以下是安裝和使用 Kubernetes Dashboard 的步驟:
安裝前需要先選擇與你安裝的Kubernetes對應版本的Dashboard,不然會出現各種問題。每個releases都會有一張對應表,如下圖:
https://github.com/kubernetes/dashboard/releases。
步驟 1:安裝Dashboard
首先,您需要安裝 Kubernetes Dashboard。執行以下命令:
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml
為了可以在集群外面訪問,我們把recommended.yaml里訪問方式調整為nodeport。
找到這一段,大約在30行左右,特點是:
- kind: Service
- k8s-app: kubernetes-dashboard
增加一行,type=NodePort。
再執行apply部署 Kubernetes-Dashboard v2.7.0。
kubectl apply -y recommended.yaml
執行后會卡很長時間,主要是在下載docker鏡像,從配置文件可以看到是以下兩個鏡像,如果發現最后下載出問題也可以單獨的docker pull下面兩鏡像。
- kubernetesui/dashboard:v2.7.0
- kubernetesui/metrics-scraper:v1.0.8
步驟 2:創建 Dashboard 用戶
Dashboard 默認啟用了令牌認證,因此您需要創建一個用戶帳戶來登錄。首先,創建一個 YAML 文件(例如 dashboard-adminuser.yaml):
apiVersion: v1
kind: ServiceAccount
metadata:
name: admin-user
namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: admin-user
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: admin-user
namespace: kubernetes-dashboard
然后,通過以下命令創建用戶:
kubectl apply -f dashboard-adminuser.yaml
步驟 3:獲取令牌
要獲取登錄到 Dashboard 所需的令牌,請運行以下命令:
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
這將顯示一個長令牌字符串,將其復制以備用。
步驟 4:查看端口
kubectl get pod,svc -n kubernetes-dashboard
這樣我們通過主機的ip+30081就可以訪問dashboard了。下面用的ip是主機的ip,并不是上面出現的cluster-ip,cluster-ip是集群內部訪問的ip。
總結:總體來說dashboard安裝還是比較簡單,但如果你安裝的是新版本,感覺還是會出現不少問題,還是得把版本控制好。
三、Dashboard界面
- 登錄界面
- 主界面-監控集群的狀態
- 部署應用-可以通過這里直接部署應用
- 部署應用-詳細配置
包含應用名稱、容器鎰、pod數量、Service非常的方便,不想設置配置yaml的可以很方便的部署。
- Deployments
- Pods
- Nodes
- Services
- 監控
四、相關問題
1、token沒有生成
(1)創建serviceaccount
kubectl create serviceaccount myadmin -n kubernetes-dashboard
(2)查看賬戶信息
kubectl get serviceaccount myadmin -o yaml -n kubernetes-dashboard
(3)綁定角色
kubectl create clusterrolebinding myadmin --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:myadmin -n kubernetes-dashboard
(4)生成token
kubectl create token myadmin -n kubernetes-dashboard