相信使用过K8S或容器化的大家都有了解过私有容器仓库Harbor,Harbor是VMware大佬开源的一个私有容器镜像仓库,VMware也开源了另外一个工具就是本文要说到的Octant,从笔者的角度上看来它更像一个Dashboard的代替品。

附上:

喵了个咪的博客:w-blog.cn

Octant官方Git地址:https://github.com/vmware/octant

PS:Octant需要依赖本地的kuberctl才能正常启动,当前官方最新版本为 V0.7

一、介绍

借用官方的一句话说:

A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
基于Web的高度可扩展平台,供开发人员更好地了解Kubernetes集群的复杂性。

Octant主要具备以下特性

  • 资源查看
    以图形方式显示Kubernetes集群中对象之间的关系。各个对象的状态由颜色表示,以显示工作负载性能。
  • 摘要视图
    通过使用多个kubectl命令找到的输出聚合的单个页面中的合并状态和配置信息。
  • 端口转发
    使用页面点击的方式将本地端口转发到正在运行的pod,以便调试应用程序,甚至可以跨命名空间端口转发多个pod。
  • 日志查看
    查看pod和容器活动的日志流,以便在不打开多个终端的情况下进行故障排除或监控
  • 标签过滤器
    使用标签筛选来组织工作负载,以检查命名空间中具有大量对象的群集。
  • 群集导航
    跨不同群集轻松更改名称空间或上下文之间的内容。还支持多个kubeconfig文件。
  • 插件系统
    高度可扩展的插件系统,供用户通过gRPC提供额外的功能。插件作者可以在现有视图之上添加组件。

但是从笔者的角度上来看最重要的主要是如下几点:

  • 能够完整的查看整个K8S中各个组件以及他们的关联关系,Dashboard隐藏了很多组件的状态
  • 能够通过网页的方式直接映射POD中的端口,可以很方便的进行调试增加开发人员的易用性

当然有优势也有缺点,当前的版本并不支持在线shell控制也没有更强的权限控制能力,还不能完全脱离Dashboard但是如果结合者kubebox还是可以一战的

二、安装Octant

废话不多说我们就进入具体的安装使用环节,推荐直接使用二进制文件进行安装,方法和kububox基本一致

使用mac举例:

PS:首先需要保障kubectl能够正常使用

wget https://github.com/vmware/octant/releases/download/v0.7.0/octant_0.7.0_macOS-64bit.tar.gz
tar -zxvf octant_0.7.0_macOS-64bit.tar.gz
octant_0.7.0_macOS-64bit/octant

运行之后就会自动弹出页面了

三、功能演示

选择一个Deployments在点击到resourceViewer就可以查看关联关系图

如果具有复杂关系可以非常直观的图中展示出来

在继续选择到POD层

Container proxy就可以选择把POD中莫个团队之间映射到本地

如下:

就可以正常访问了,这个功能可以非常方便开发人员进行容器下的调试

PS:端口映射只能映射到localhost上,并不能在一台功能服务器上放出端口给到多个开发使用,等后续官方支持吧

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐