0
点赞
收藏
分享

微信扫一扫

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_开源_02

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

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

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

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

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

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

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

输入 kubeconfig 文件信息

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

可以更换主题,查看集群信息。

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

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.gz
octant_0.25.1_Linux-64bit/README.md
octant_0.25.1_Linux-64bit/octant
┌──[root@vms81.liruilongs.github.io]-[~/ansible/octant]
└─$octant_0.25.1_Linux-64bit/octant version
Version: 0.25.1
Git commit: f16cbb951905f1f8549469dfc116ca16cf679d46
Built: 2022-02-24T23:02:15Z

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

┌──[root@vms81.liruilongs.github.io]-[~/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 会在启动时候自动打开默认浏览器,并且只监听本地对 指定端口的访问。

┌──[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: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 的内部环境

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

查看日志信息

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

查看资源依赖关系

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

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

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

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

博文参考

​​https://octant.dev/​​

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

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


举报

相关推荐

0 条评论