寫在前面
- 博文内容主要為 Octant 介紹以及 桌面/Web 端的安裝教程
- 涉及 Linux/Windows 的安裝。
- 了解不足小夥伴幫忙指正
其實當你什麼都經曆了,會發現,人生無論你怎麼精心策劃都抵不過一場命運的安排。
Octant 不是儀表闆,Octant 是一個帶有儀表闆視圖的平台, 需要說明的時,這個項目有近 10 個月沒有維護,不過對于 k8s 工具來講,我認為它是不次于 Lens 的項目,并且它開源,Lens 要收費了,如果考慮費用問題,我認為這是一個不錯的選擇。 Octant 可以展示 目前資源的 依賴視圖,這對于可以直覺的看到 API 資源的依賴關系是很有幫助的。
Octant 提供了一種了解複雜 Kubernetes 環境的新方法。它可以部署為 Web ,通過浏覽器用戶端通路,也可以以桌面的方法來安裝,你需要的僅僅是一個做了授權的 kubeconfig 檔案.
對于類似的 k8s 工具,在生産中, Octant 結合 Rancher 可以滿足大部分需求。 如果你的通路權限受限,隻有一個終端,推薦使用 kubebox 或者 k8s .
特征:
- 資源檢視器 : 以圖形方式可視化 Kubernetes 叢集中對象之間的關系。各個對象的狀态用顔色表示以顯示工作負載性能。
- 摘要視圖 : 從通常使用多個 kubectl 指令找到的輸出中聚合的單個頁面中的合并狀态和配置資訊。
- 端口轉發: 使用用于調試應用程式的單個按鈕将本地端口轉發到正在運作的 pod,甚至跨命名空間端口轉發多個 pod。
- 日志流: 檢視 Pod 和容器活動的日志流,以便在不打開多個終端的情況下進行故障排除或監控。
- 标簽過濾器: 使用标簽過濾組織工作負載,以檢查命名空間中包含大量對象的叢集。
- 叢集導航:在不同叢集的命名空間或上下文之間輕松更改。還支援多個 kubeconfig 檔案。
- 插件系統: 高度可擴充的插件系統,供使用者通過 gRPC 提供額外的功能。插件作者可以在現有視圖之上添加元件。
桌面端安裝
window安裝
PS C:\Users\山河已無恙\Downloads> curl -o Octant.Setup.0.25.1.exe https://github.com/vmware-tanzu/octant/releases/download/v0.25.1/Octant.Setup.0.25.1.exe
下載下傳好之後安裝,之後桌面上會有一個圖示
點選啟動它,第一次打開會提示輸入 kubeconfig 檔案。
┌──[[email protected]]-[/var/run]
└─$cat ~/.kube/config
然後點選加載,就可以檢視叢集資訊
哈,可能我機器 CPU 不行,感覺桌面端很耗資源。
web 端安裝
window安裝
PS C:\Users\山河已無恙> choco install octant --confirm --force
Chocolatey v1.1.0
Installing the following packages:
octant
By installing, you accept licenses for the packages.
octant v0.25.1 already installed. Forcing reinstall of version '0.25.1'.
Please use upgrade if you meant to upgrade to a new version.
octant v0.25.1 (forced) [Approved]
octant package files install completed. Performing other installation steps.
Using system proxy server '127.0.0.1:49739'.
Downloading octant 64 bit
from 'https://github.com/vmware-tanzu/octant/releases/download/v0.25.1/octant_0.25.1_Windows-64bit.zip'
Using system proxy server '127.0.0.1:49739'.
Progress: 100% - Completed download of C:\Users\山河已無恙\AppData\Local\Temp\chocolatey\octant\0.25.1\octant_0.25.1_Windows-64bit.zip (54.37 MB).
Download of octant_0.25.1_Windows-64bit.zip (54.37 MB) completed.
Hashes match.
Extracting C:\Users\山河已無恙\AppData\Local\Temp\chocolatey\octant\0.25.1\octant_0.25.1_Windows-64bit.zip to C:\ProgramData\chocolatey\lib\octant\tools...
C:\ProgramData\chocolatey\lib\octant\tools
ShimGen has successfully created a shim for octant.exe
The install of octant was successful.
Software installed to 'C:\ProgramData\chocolatey\lib\octant\tools'
Chocolatey installed 1/1 packages.
See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
Enjoy using Chocolatey? Explore more amazing features to take your
experience to the next level at
https://chocolatey.org/compare
PS C:\Users\山河已無恙>
啟動運作
PS C:\ProgramData\chocolatey\lib\octant\tools\octant_0.25.1_Windows-64bit> .\octant.exe
2023-01-14T06:12:55.534-0500 INFO dash/dash.go:637 cannot find kube config: C:\Users\山河
已無恙\.kube\config
2023-01-14T06:12:55.534-0500 INFO dash/dash.go:134 no valid kube config found, initializing loading API
2023-01-14T06:12:55.536-0500 INFO dash/dash.go:154 waiting for kube config ...
2023-01-14T06:12:55.577-0500 INFO dash/dash.go:546 Dashboard is available at http://127.0.0.1:7777
輸入 kubeconfig 檔案資訊
可以更換主題,檢視叢集資訊。
Linux 下安裝
下載下傳安裝包
curl -o octant_0.25.1_Linux-64bit.tar.gz https://github.com/vmware-tanzu/octant/releases/download/v0.25.1/octant_0.25.1_Linux-64bit.tar.gz
解壓檢視版本資訊。
┌──[[email protected]]-[~/ansible/octant]
└─$tar -zxvf octant_0.25.1_Linux-64bit.tar.gz
octant_0.25.1_Linux-64bit/README.md
octant_0.25.1_Linux-64bit/octant
┌──[[email protected]]-[~/ansible/octant]
└─$octant_0.25.1_Linux-64bit/octant version
Version: 0.25.1
Git commit: f16cbb951905f1f8549469dfc116ca16cf679d46
Built: 2022-02-24T23:02:15Z
檢視幫助文檔了解啟動資訊
┌──[[email protected]]-[~/ansible/octant]
└─$octant_0.25.1_Linux-64bit/octant --help
octant is a dashboard for high bandwidth cluster analysis operations
Usage:
octant [flags]
octant [command]
Available Commands:
completion generate the autocompletion script for the specified shell
help Help about any command
version Show version
Flags:
--context string initial context
--disable-cluster-overview disable cluster overview
--enable-feature-applications enable applications feature
--kubeconfig string absolute path to kubeConfig file
-n, --namespace string initial namespace
--namespace-list strings a list of namespaces to use on start
--plugin-path string plugin path
-v, --verbose turn on debug logging
--client-max-recv-msg-size int client max receiver message size (default 16777216)
--accepted-hosts string accepted hosts list [DEV]
--client-qps float32 maximum QPS for client [DEV] (default 200)
--client-burst int maximum burst for client throttle [DEV] (default 400)
--disable-open-browser disable automatic launching of the browser [DEV]
--disable-origin-check disable cross origin resource check
-c, --enable-opencensus enable open census [DEV]
--klog-verbosity int klog verbosity level [DEV]
--listener-addr string listener address for the octant frontend [DEV]
--local-content string local content path [DEV]
--proxy-frontend string url to send frontend request to [DEV]
--ui-url string dashboard url [DEV]
--browser-path string the browser path to open the browser on
--memstats string log memory usage to this file
--meminterval string interval to poll memory usage (requires --memstats), valid time units are "ns", "us" (or "µs"), "ms", "s", "m", "h". (default "100ms")
-h, --help help for octant
Use "octant [command] --help" for more information about a command.
這裡在啟動的時候需要注意一下,如果終端沒有浏覽器,需要指定 --disable-open-browser,同時如果是 其他機器通過IP通路,需要添加監聽的任意IP對端口的通路 --listener-addr 0.0.0.0:7777, 預設情況下, Octant 會在啟動時候自動打開預設浏覽器,并且隻監聽本地對 指定端口的通路。
┌──[[email protected]]-[~/ansible/octant/octant_0.25.1_Linux-64bit]
└─$./octant --kubeconfig ~/.kube/config --disable-open-browser --disable-origin-check --listener-addr 0.0.0.0:7777
2023-01-14T20:05:20.673+0800 INFO dash/watcher.go:117 watching config file {"component": "config-watcher", "config": "/root/.kube/config"}
.............
2023-01-14T20:05:20.677+0800 INFO module/manager.go:87 registering action {"component": "module-manager", "actionPath": "action.octant.dev/deleteObject", "module-name": "configuration"}
2023-01-14T20:05:20.677+0800 WARN plugin/manager.go:405 Unable to add /root/.config/octant/plugins to the plugin watcher. Error: no such file or directory
github.com/vmware-tanzu/octant/pkg/plugin.(*Manager).watchPluginFiles
/__w/octant/octant/pkg/plugin/manager.go:405
2023-01-14T20:05:20.691+0800 INFO dash/dash.go:546 Dashboard is available at http://[::]:7777
其他機器測試。可以直接進入目前 pod 的内部環境
檢視日志資訊
檢視資源依賴關系
不對不說,octant 很消耗資源,尤其是對CPU,是以不太建議部署到叢集相關的節點。
關于 octant 和小夥伴分享到這裡,安裝很簡單,趕快去嘗試吧。
博文參考
https://octant.dev/
https://github.com/vmware-tanzu/octant
https://reference.octant.dev/?path=/story/docs-intro--page