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
: 查看容器的logsshell
: 以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