K9S是一個可以監控k8s的開源工具
安裝 (Linux版本)
記得先安裝brew,與go v1.14以上的版本
| 1 | brew install derailed/k9s/k9s | 
將k9s的repositoy clone下來
| 1 | git clone https://github.com/derailed/k9s.git | 
到k9s目錄內,執行以下指令
| 1 | make build | 
可以把 k9s binary檔案放置到
/usr/bin內
若輸入k9s,看到以下畫面,表示成功 (下圖為透過minikube start所架設的pods)

介面瀏覽
- 左上角可以看到k8s的cluster名稱為minikube
- 中上方有 <0>,<1>,表示可以用數字鍵來快速瀏覽現存的namespace
- 中間框框的名稱是目前的服務類型之列表


搜尋服務
例如要搜尋pod,先按下:,在輸入pod,且k9s最大的優點就是會自動補齊!

接著對某一個pod按下enter,可以看到container的資訊
- 左下角可以看到目前的位置

若要回到pod層級,就按下esc鍵
服務導覽 xray
透過 xray [服務] [namespace],可以列出服務所提供的各項功能,並透過快捷鍵快速到自己要的位置


查看細節
在正上方,可以透過快捷鍵查看服務的細節,例如以container為例
- a: 進入到容器內
- ?: 顯示幫助說明
- logs: 查看容器的logs
- shell: 以shell方式進入到容器內

像是其他的服務 pod service都會有特定的快捷鍵供參考


監控服務
例如在Deployment後,想要查看服務建置系統所耗用的資源,可以用 :pluse來了解

過濾服務
按下 /,會冒出貴賓狗的樣子,可以輸入要找尋的pod名稱

以label標籤過濾
使用 -l 前綴,可以用label方式過濾服務
例如,過濾出 version=2的label

可以先用
y,查看服務的yaml細節,得知label是什麼囉
以namespace方式過濾
通常會以namespace找出特定群組的服務們,透過:namespace或:ns,得到namespace服務們

砍掉服務
以 ctrl + d砍掉,會先跳出警示視窗,避免誤刪
且可以看到pod若有設置replicaset,會自動將砍掉的pod恢復回來


服務指標
透過 :popeye,可以得知服務建置時的健康狀況,k9s會根據建置時是否有出現狀況來評定分數

對有問題的服務按下enter,就可以看到sanitizer,會針對服務產出一系列警告的報告

參考
- k9s Official Site
- K9s usage and features walkthrough | Popeye Sanitizer | Productivity | Kubernetes Primer
