> 文档中心 > Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant


写在前面


  • 博文内容主要为 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

下载好之后安装,之后桌面上会有一个图标

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

点击启动它,第一次打开会提示输入 kubeconfig 文件。

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

┌──[root@vms81.liruilongs.github.io]-[/var/run]└─$cat ~/.kube/config

然后点击加载,就可以查看集群信息

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

哈,可能我机器 CPU 不行,感觉桌面端很耗资源。

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

web 端安装

window安装

PS C:\Users\山河已无恙> choco install octant --confirm --forceChocolatey v1.1.0Installing the following packages:octantBy 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 yourexperience to the next level at https://chocolatey.org/comparePS C:\Users\山河已无恙>

启动运行

PS C:\ProgramData\chocolatey\lib\octant\tools\octant_0.25.1_Windows-64bit> .\octant.exe2023-01-14T06:12:55.534-0500    INFO    dash/dash.go:637 cannot find kube config: C:\Users\山河已无恙\.kube\config2023-01-14T06:12:55.534-0500    INFO    dash/dash.go:134 no valid kube config found, initializing loading API2023-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

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

输入 kubeconfig 文件信息

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

可以更换主题,查看集群信息。
Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

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

解压查看版本信息。

┌──[root@vms81.liruilongs.github.io]-[~/ansible/octant]└─$tar -zxvf octant_0.25.1_Linux-64bit.tar.gzoctant_0.25.1_Linux-64bit/README.mdoctant_0.25.1_Linux-64bit/octant┌──[root@vms81.liruilongs.github.io]-[~/ansible/octant]└─$octant_0.25.1_Linux-64bit/octant versionVersion:  0.25.1Git commit:  f16cbb951905f1f8549469dfc116ca16cf679d46Built:  2022-02-24T23:02:15Z

查看帮助文档了解启动信息

┌──[root@vms81.liruilongs.github.io]-[~/ansible/octant]└─$octant_0.25.1_Linux-64bit/octant --helpoctant is a dashboard for high bandwidth cluster analysis operationsUsage:  octant [flags]  octant [command]Available Commands:  completion  generate the autocompletion script for the specified shell  help Help about any command  version     Show versionFlags:      --context string   initial context      --disable-cluster-overviewdisable cluster overview      --enable-feature-applications    enable applications feature      --kubeconfig stringabsolute 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-opencensusenable 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 octantUse "octant [command] --help" for more information about a command.

这里在启动的时候需要注意一下,如果终端没有浏览器,需要指定 --disable-open-browser,同时如果是 其他机器通过IP访问,需要添加监听的任意IP对端口的访问 --listener-addr 0.0.0.0:7777, 默认情况下, Octant 会在启动时候自动打开默认浏览器,并且只监听本地对 指定端口的访问。

┌──[root@vms81.liruilongs.github.io]-[~/ansible/octant/octant_0.25.1_Linux-64bit]└─$./octant --kubeconfig ~/.kube/config --disable-open-browser --disable-origin-check --listener-addr 0.0.0.0:77772023-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 directorygithub.com/vmware-tanzu/octant/pkg/plugin.(*Manager).watchPluginFiles /__w/octant/octant/pkg/plugin/manager.go:4052023-01-14T20:05:20.691+0800    INFO    dash/dash.go:546 Dashboard is available at http://[::]:7777

其他机器测试。可以直接进入当前 pod 的内部环境

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

查看日志信息

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

查看资源依赖关系

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

不对不说,octant 很消耗资源,尤其是对CPU,所以不太建议部署到集群相关的节点。

Kubernetes:分享一个可以展示资源视图的 K8s开源 Web/桌面 客户端工具 Octant

关于 octant 和小伙伴分享到这里,安装很简单,赶快去尝试吧。

博文参考


https://octant.dev/

https://github.com/vmware-tanzu/octant

https://reference.octant.dev/?path=/story/docs-intro–page