使用 Kuboard 替代 Kubernetes Dashboard

概述Kubernetes

已然是當(dāng)下容器編排領(lǐng)域事實上的標(biāo)準(zhǔn),各大云服務(wù)商都急于推出 Kubernetes 服務(wù),互聯(lián)網(wǎng)公司也紛紛跟進,將自己的應(yīng)用容器化,并使用 Kubernetes 編排,在 Kubernetes 圖形化工具方面,我們已經(jīng)獲得了極大的可選擇空間:

  • 各云服務(wù)商自己推出的 Kubernetes 服務(wù)所搭載的管理控制臺,例如 阿里云的 Kubernetes 服務(wù),青云推出的 KubeSphere,其他云服務(wù)商的 CaaS 類服務(wù)
  • Kubernetes 官方的圖形管理界面 Kubernetes Dashboard
  • 面向企業(yè)私有化部署的 Rancher

什么是 Kuboard

Kuboard 類似于 Kubernetes Dashboard,是一款輕量級產(chǎn)品,按照 Kuboard 的文檔,您可以很快地搭建一套學(xué)習(xí) Kubernetes 用的集群環(huán)境,您也可以在自己已經(jīng)有的集群上輕易地完成 Kuboard 的安裝

安裝 Kuboard

如果您已經(jīng)有了 Kubernetes 集群,只需要一行命令即可安裝 Kuboard:

kubectl apply -f https://kuboard.cn/install-script/kuboard.yaml

然后訪問您集群中任意節(jié)點的 32567 端口(http://any-of-your-node-ip:32567) ,即可打開 Kuboard 界面,比如我的 Node 節(jié)點 IP 為:http://192.168.113.130:32567

獲取 Token

此 Token 擁有 ClusterAdmin 的權(quán)限,可以執(zhí)行所有操作

kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}')
# 輸出如下
Name:         kuboard-user-token-dsccx
Namespace:    kube-system
Labels:       <none>
Annotations:  kubernetes.io/service-account.name: kuboard-user
              kubernetes.io/service-account.uid: 08aad1b1-3d1b-4b6f-a379-3e320620a09f
Type:  kubernetes.io/service-account-token
Data
====
ca.crt:     1025 bytes
namespace:  11 bytes
token:      eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJrdWJvYXJkLXVzZXItdG9rZW4tZHNjY3giLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoia3Vib2FyZC11c2VyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiMDhhYWQxYjEtM2QxYi00YjZmLWEzNzktM2UzMjA2MjBhMDlmIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmt1Ym9hcmQtdXNlciJ9.rndy-u-CxDF_yfaubq2HmIb7o04uLI3z7soqTf581VPLFo31dLmQvDPBJXWmFXHAfy0f-msCZjXWU35Cvwvlg3A5LZXgmfsJJi-kwYgpjnsOpFqquezAR6mDDnyXC1NLb8HD4PXgb4wbqnz6-jXlj7T0EXaDK0U5JvNtnkVy8y66mucz6tGnANqLYsHIYPT86P2VTOAWPrnz3pJHtoo_2AMI_y5Pc9RiVH1cro5I5D8Qf8_XDBE4oTsNXaqvWItnjg1O-nhxwsRpe-Szbe9wtFLbqjsO0_ZF5jPT1SdNrkuzoRJ4FpJsjBpbSpLB_DXtc0Y15oJVNZwpmJXKywCXRw

登錄 Kuboard

使用剛才生成的 Token 直接登錄即可

為什么使用 Kuboard

非侵入式

Rancher 為了支持多云管理(MeSos,Docker Swarm,Kubernetes 等),引入了一系列復(fù)雜的概念,又需要新增安裝 Rancher Server、Rancher Agent 等,本來學(xué)習(xí) Kubernetes 已然不堪重負,Rancher 再把多云整合到一起來,無疑又增加了學(xué)習(xí)和使用的復(fù)雜性。如果您只是打算使用 Kubernetes 的話,也許并不需要選擇 Rancher 這樣重量級的產(chǎn)品。Kuboard 僅僅依賴于原生 Kubernetes,可以運行在各種公有云、私有云上,您也可以自己基于物理機、vsphere、vmware 等已經(jīng)有的基礎(chǔ)設(shè)施搭建 Kubernetes,輕松實現(xiàn)現(xiàn)有 Infrastructure 的容器化改造

名稱空間

在 Kuboard 中,名稱空間的展示形式以微服務(wù)參考分層架構(gòu)的形式,將所有的微服務(wù)分為如下幾層:

  • 展現(xiàn)層
    • 終端用戶訪問的 Web 應(yīng)用
  • API 網(wǎng)關(guān)層
    • Spring Cloud Gateway / Zuul / Kong 等接口網(wǎng)關(guān)
  • 微服務(wù)層
    • Spring Boot 微服務(wù),或 PHP / Python / Go 實現(xiàn)的微服務(wù)
  • 持久層
    • MySQL 數(shù)據(jù)庫等(開發(fā)及測試環(huán)境里,將 MySQL 部署于 Kubernetes 可以極大地降低環(huán)境維護的任務(wù)量)
  • 中間件層
    • 消息隊列
    • 服務(wù)注冊 Eureka / Zookeeper / Consul 等
  • 監(jiān)控層
    • Prometheus + Grafana
    • Pinpooint 等

更為貼心的,當(dāng)某一個工作負載存在部署方面的問題時, Kuboard 將以紅色高亮出該工作負載,并配有合適的方式輔助用戶定位錯誤信息

無需手寫 Yaml

學(xué)習(xí) Kubernetes 時,需要花費許多的時間,在理解一個概念之后,模仿著寫一個 yaml 文件,再使用 kubectl 應(yīng)用該文件,使用 Kuboard 提供的工作負載編輯器,可以直觀的完成應(yīng)用的部署

應(yīng)用升級

Kuboard 提供批量修改容器鏡像版本的功能,輕松升級應(yīng)用程序的版本


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容