當前位置:網站首頁>kubernetes 部署 dashboard(可視化界面)
kubernetes 部署 dashboard(可視化界面)
2022-07-24 01:02:06【醉凡塵¢ World1y】
目錄
前言
相信很多人在做數據分析工作的時候都遇到這種情况,辛辛苦苦做出來的數據報錶老板看了嫌弃不够直觀、生動,客戶看了嫌弃不够高大上。這個時候不妨嘗試一下使用Dashboard來展示報錶數據,可能有些人對Dashboard不是很熟悉,沒關系今天讓小編帶大家來認識一下Dashboard究竟是何方神聖,它在數據展示上又有哪些優勢,以此來幫助大家更好的完成數據分析工作。
一、dashboard 概述
1.1 dashboard 簡介
Dashboard是基於網頁的Kubernetes用戶界面。您可以使用Dashboard將容器應用部署到Kubernetes集群中,也可以對容器應用排錯,還能管理集群資源。您可以使用Dashboard獲取運行在集群中的應用的概覽信息,也可以創建或者修改Kubernetes資源( 如Deployment,Job,DaemonSet等等)
Dashboard同時展示了Kubernetes集群中的資源狀態信息和所有報錯信息
1.2 應用場景
Dashboard主要應用的場景有三大類,分別是監控、分析和概覽場景。
1.監控場景
在監控場景中,Dashboard主要為用戶集中提供便捷的關鍵指標實時監測,及時告知异常狀態,並引導用戶定比特問題。
2.分析場景
在分析場景中,Dashboard主要通過數據圖錶,配合控件進行不同維度的數據分析。例如,用戶可以通過時間篩選控件過濾圖錶上的數據範圍等。
3.概覽場景
在複雜業務中,Dashboard還用於概覽場景,集中呈現業務分散的重點信息,用戶還可以通過提供的入口快速跳轉至相關模塊
通常,Dashboard三大主要使用場景是相互配合使用的。例如,用戶通常先通過概覽Dashboard了解業務整體信息,觀察監控數據的情况,如需要進一步分析,用戶可以對數據進行多維度分析已獲取更多信息。
在監控、分析和概覽主要場景中,總結提煉了Dashboard能為用戶帶來的直接價值主要如下幾點:
- 監控告警,並引導用戶定比特問題
- 深入分析數據,獲知細節信息
- 快速獲取業務整體重點信息,管理資源
二、dashboard 部署
2.1 部署思路
- 通過nginx-ingress的方式來對外提供訪問
優點:主流,安全,方便管理
缺點:配置相當複雜麻煩,不熟悉的同學會暈圈 - 通過service的NodePort的方式來對外提供訪問
優點:部署方便,快捷
缺點:NodePort端口過多造成不易管理的問題,不安全
這裏我采用的是第二種NodePort的方式(生產環境推薦第一種方式)。
2.2 安裝dashboard
2.2.1 下載文件
選擇文件夾,下載recommended.yaml到文件夾中。
mkdir -p /home/yaml/dashboard && cd /home/yaml/dashboard
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
#默認Dashboard只能集群內部訪問,修改Service為NodePort類型,暴露到外部:
vi recommended.yaml
...
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kubernetes-dashboard
spec:
ports:
- port: 443
targetPort: 8443
nodePort: 30001
type: NodePort
selector:
k8s-app: kubernetes-dashboard
#啟動
kubectl apply -f recommended.yaml
我們需要更改type為NodePort
,指定其外網可以訪問,否則其他電腦會訪問不到,請注意!
將 Dashboard添加至k8s
2.2.2 驗證
kubectl -n kubernetes-dashboard get service
查看pod的狀態為running說明dashboard部署成功
kubectl get svc,pods -n kubernetes-dashboard
2.2.3 登錄
訪問地址:https://NodeIP:30001
此時需要授權才能用
2.3 權限查詢
role: 名稱空間的系統權限
clusterrole:全局權限
系統權限
# 查詢某一個名稱空間內的所有系統權限
~]# kubectl -n kube-system get role
# 查詢名稱空間內的系統權限的詳細信息
~]# kubectl -n kube-system describe role kube-proxy
全局權限
# 查看所有全局權限
~]# kubectl -n kube-system get clusterrole
# 指定查看某一個權限的詳細信息
~]# kubectl -n kube-system describe clusterrole admin
2.4 token認證登錄
K8S有兩種用戶:User 和 Service Account,User 給人用,Service Account 給進程用,讓進程有相關權限,Dashboard 是一個進程,我們就可以創建一個Service Account 給它
- 創建ServiceAccount,根據其管理目標,使用rolebinding或clusterrolebinding綁定至合理role或clusterrole;
- 獲取到此ServiceAccount的secret,查看secret的詳細信息,其中就有token;
方法一:
# 書寫權限資源
~]# vim admin-token.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 admin-token.yaml
~]# kubectl -n kubernetes-dashboard get secrets
NAME TYPE DATA AGE
admin-user-token-bxjlz kubernetes.io/service-account-token 3 23s
~]# kubectl -n kubernetes-dashboard describe secrets admin-user-token-bxjlz
Name: admin-user-token-bxjlz
... ...
ca.crt: 1025 bytes
namespace: 20 bytes
token: ..... # 這裏這個很長的字符串就是你要找的認證 token
方法二:
創建service account並綁定默認cluster-admin管理員集群角色:
# 創建用戶
kubectl create serviceaccount dashboard-admin -n kube-system
# 用戶授權
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
# 獲取用戶Token
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
再次登錄進行驗證:
2.5 密碼提取
往後需要再次登陸dashboard頁面且讓你輸密碼的時候,你只需要輸入以下命令即可重新提取密碼:
kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')
2.6 設置 token 過期時間
用 token 登陸 kubernetes-dashboard,默認的 token 認證時間是 900s/15 分鐘,失效需要重新登錄灰常麻煩,下面添加- --token-ttl=604800 (單比特 s)參數修改 token 過期時間為 7 天。 kubernetes-dashboard 平臺可使用如下方法,你也可以選擇修改 recommended.yaml 文件,重新 apply 即可
步驟:
- 選擇
kubernetes-dashboard
命名空間 - 編輯
deployment/kubernetes-dashboard
配置文件 - 在對應比特置添加
- --token-ttl=604800
(單比特 s) - 點擊更新即可生效
2.7 卸載
如果安裝的的dashboard錯誤,可以卸載重新安裝。
kubectl get secret,sa,role,rolebinding,services,deployments --namespace=kubernetes-dashboard | grep dashboard
kubectl delete deployment kubernetes-dashboard --namespace=kubernetes-dashboard
kubectl delete service kubernetes-dashboard --namespace=kubernetes-dashboard
kubectl delete role kubernetes-dashboard-minimal --namespace=kubernetes-dashboard
kubectl delete rolebinding kubernetes-dashboard-minimal --namespace=kubernetes-dashboard
kubectl delete sa kubernetes-dashboard --namespace=kubernetes-dashboard
kubectl delete secret kubernetes-dashboard-certs --namespace=kubernetes-dashboard
kubectl delete secret kubernetes-dashboard-key-holder --namespace=kubernetes-dashboard
常見問題:
1、nodeport默認端口範圍30000-32767,如果想改變端口範圍怎麼辦?
解决辦法:vim /etc/kubernetes/manifests/kube-apiserver.yaml
增加
spec:
containers:
- command:
- kube-apiserver
- --service-node-port-range=1-65535
修改完畢立即生效
版權聲明
本文為[醉凡塵¢ World1y]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/205/202207240101312962.html
邊欄推薦
猜你喜歡
隨機推薦
- 快速解决:Xshell拖不進去文件夾或者軟件包的問題
- RHCSA--文件內容瀏覽、cut、uniq、sort、.tr命令使用
- 信號完整性(SI)電源完整性(PI)學習筆記(三十二)電源分配網路(四)
- EasyGBS平臺出現錄像無法播放並存在RTMP重複推流現象,是什麼原因?
- 第七天筆記
- 【可視化調度軟件】上海道寧為SMB組織帶來NETRONIC下載、試用、教程
- 概率沉思錄:2.The quantitative rules
- 常用的鼠標事件和鍵盤事件
- C#:in、out、ref關鍵字
- GRE,MGRE的詳細了解;OSPF基礎配置知識
- Creo 9.0 如何快速修改CAD坐標系?
- 第五天筆記
- 强化學習——策略梯度理解點
- shell跑的時候需要的需要了解命令
- OKRK3399開發板預留I2C4掛載EEPROM
- 優化華為雲服務器采用Key登陸
- 第2章 基礎查詢與排序
- 【C語言】猜數字小遊戲+關機小程序
- 什麼是Per-Title編碼?
- @FeignClient使用詳細教程(圖解)
- Kettle實現共享數據庫連接及插入更新組件實例
- 基於matlab的CBOC信號調制解調仿真,輸出其相關性,功率譜以及頻偏跟踪
- VSCode 更新後與tab相關快捷鍵無法使用
- 後綴錶達式(暑假每日一題 4)
- 關於初始化page入參的設計思路
- Bean Validation核心組件篇----04
- 動態規劃背包問題之完全背包詳解
- 死磕遞歸1:遞推公式
- SQL報錯盲注詳解
- 工業物聯網中的時序數據
- 配置Gom引擎登錄器出現錯誤提示:沒有發現必備補丁文件!
- 【215】gin框架連接mysql數據庫
- go中的協程原理詳解
- 【JZOF】13機器人的運動範圍
- PCL:多直線擬合(RANSAC)
- 1259. 不相交的握手 動態規劃
- 基於FPGA的UART接口設計
- elk筆記25--快速體驗APM
- 能量原理與變分法筆記19:最小餘能原理+可能功原理
- 梅科爾工作室-小熊派開發筆記2