相信使用過K8S或容器化的大家都有了解過私有容器倉庫Harbor,Harbor是VMware大佬開源的一個私有容器鏡像倉庫,VMware也開源了另外一個工具就是本文要說到的Octant,從筆者的角度上看來它更像一個Dashboard的代替品。
附上:
喵了個咪的博客:w-blog.cn
Octant官方Git地址:https://github.com/vmware/octant
PS:Octant需要依賴本地的kuberctl才能正常啟動,當前官方最新版本為 V0.7
一、介紹
借用官方的一句話說:
<code>A web-based, highly extensible platform for developers to better understand the complexity of Kubernetes clusters.
基於Web的高度可擴展平臺,供開發人員更好地瞭解Kubernetes集群的複雜性。/<code>
Octant主要具備以下特性
- 資源查看
以圖形方式顯示Kubernetes集群中對象之間的關係。各個對象的狀態由顏色表示,以顯示工作負載性能。 - 摘要視圖
通過使用多個kubectl命令找到的輸出聚合的單個頁面中的合併狀態和配置信息。 - 端口轉發
使用頁面點擊的方式將本地端口轉發到正在運行的pod,以便調試應用程序,甚至可以跨命名空間端口轉發多個pod。 - 日誌查看
查看pod和容器活動的日誌流,以便在不打開多個終端的情況下進行故障排除或監控 - 標籤過濾器
使用標籤篩選來組織工作負載,以檢查命名空間中具有大量對象的群集。 - 群集導航
跨不同群集輕鬆更改名稱空間或上下文之間的內容。還支持多個kubeconfig文件。 - 插件系統
高度可擴展的插件系統,供用戶通過gRPC提供額外的功能。插件作者可以在現有視圖之上添加組件。
但是從筆者的角度上來看最重要的主要是如下幾點:
- 能夠完整的查看整個K8S中各個組件以及他們的關聯關係,Dashboard隱藏了很多組件的狀態
- 能夠通過網頁的方式直接映射POD中的端口,可以很方便的進行調試增加開發人員的易用性
當然有優勢也有缺點,當前的版本並不支持在線shell控制也沒有更強的權限控制能力,還不能完全脫離Dashboard但是如果結合者kubebox還是可以一戰的
二、安裝Octant
廢話不多說我們就進入具體的安裝使用環節,推薦直接使用二進制文件進行安裝,方法和kububox基本一致
使用mac舉例:
PS:首先需要保障kubectl能夠正常使用
<code>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/<code>
運行之後就會自動彈出頁面了
三、功能演示
選擇一個Deployments在點擊到resourceViewer就可以查看關聯關係圖
如果具有複雜關係可以非常直觀的圖中展示出來
在繼續選擇到POD層
Container proxy就可以選擇把POD中莫個團隊之間映射到本地
如下:
就可以正常訪問了,這個功能可以非常方便開發人員進行容器下的調試
PS:端口映射只能映射到localhost上,並不能在一臺功能服務器上放出端口給到多個開發使用,等後續官方支持吧
閱讀更多 文振熙後端技術 的文章