作者丨Christian Melendez
译者丨平川
VMWare 开源了 Octant ,这是一款帮助开发人员了解应用程序在 Kubernetes 集群中如何运行的工具。它通过可视化的方式,呈现 Kubernetes 对象的依赖关系,可将本地端口请求转发到正在运行的 pod,查看 pod 日志,浏览不同的集群。此外,用户可以通过安装或编写插件来扩展 Octant 的功能。
Octant 为开发人员提供了一个仪表板,用于实时查看集群中运行的工作负载。Kubernetes 生态系统已经有了仪表板项目,比如官方仪表板、 Kubernator 、 Kubernetic 和 Kiali (如果正在使用 Istio)。但是 VMWare 的首席工程师 Joe Beda 说,当他们开发这个工具时,“并没有想把 Octant 做成一个仪表板,而是作为 kubectl 的一个可视化补充”。
用户可以探索 Kubernetes 对象,如 cron 作业、守护程序集、部署、作业、pod 或服务。此外,Octant 还提供了一个资源图,用户可以看到对象的状态以及对象之间是如何相互依赖的。例如,哪些对象属于哪个服务或入口对象,或者 pod 正在使用哪个服务帐户。
Octant 是一个客户端工具,用户不需要在集群中安装任何东西就可以使用它。因为 Octant 在本地运行,所以它使用开发人员的本地凭证和权限来查询集群中的对象。Kubernetes 管理员不必担心给用户额外的权限。此外,对于必须与不同集群交互的开发人员,Octant 支持多个 kubeconfig 文件。用户可以通过按钮切换不同的集群或名称空间,而无需运行两三个 kubectl 命令。
Octant 的另一个特性是能够将本地端口转发到正在运行的 pod 并连接到它。用户不需要运行 kubectl port-forward 命令,只需单击 Octant 的仪表板就可以开始转发。此外,Octant 支持从不同名称空间端口转发多个 pod。
在同一个仪表板中,用户还可以实时地从 pod 和容器中读取日志,而不需要运行任何 kubectl logs 命令,或者使用多个终端同时调试不同的 pod 或容器。
Kubernetes API 还可以通过自定义资源定义(CRD)进行扩展,Octant 支持探测集群中运行的任何 CRD。因为 Octant 也有一个用 Go 编写的插件系统,CRD 作者可以创建插件来丰富自定义资源的可见性。Octant 的插件系统允许其他工具和流程与 Kubernetes 工作负载的交付生命周期集成。例如,插件可以突出显示部署或发布后更新的 Kubernetes 对象。因此,用户可以更有效地发现问题,而无需在终端中运行多个命令。
要开始使用 Octant,用户需要在 Linux、Mac 或 Windows 10 工作站中安装该工具。Windows 用户可以使用 chocolatey 安装 Octant,运行 choco install octant --confirm 命令,或使用 scoop 运行 scoop install octant 命令。用户也可以从发布页面下载 Linux、Mac 或 Windows 二进制文件,解包并运行它。Octant 正致力于将其应用到 Homebrew 中。
Octant 的路线图包括一些功能,比如使用 YAML 编辑器编辑 Kubernetes 对象,在 Octant 中嵌入 kubectl 命令行,通过热图来帮助用户理解 pod 中的任何问题,以及带有更多按钮、模态窗口和警报的 GUI。
项目地址:
https://github.com/vmware/octant
原文链接:
https://www.infoq.com/news/2019/08/octant-kubernetes-dashboard/
点个在看少个 bug 👇