K9s 使用教程:如何高效管理 Kubernetes 集群

文章首發(fā)于個(gè)人公眾號(hào):「阿拉平平」

之前我向大家介紹過一款 K8s 的 IDE:Lens。通過圖形界面,我們可以很方便地管理多個(gè)集群。不過有的小伙伴可能更習(xí)慣使用 kubectl 去管理集群,所以今天和大家分享一個(gè)高效管理 K8s 集群的命令行工具:K9s。

本文演示環(huán)境為 CentOS 7.4,K9s 版本為 0.21.7,K8s 集群托管在阿里云上。

快速開始

簡(jiǎn)介

K9s 提供了一個(gè)與 K8s 集群交互的終端 UI,用于簡(jiǎn)化導(dǎo)航、觀察以及管理應(yīng)用程序。K9s 會(huì)持續(xù)監(jiān)控 K8s 的變化,并提供后續(xù)命令與所觀察到的資源進(jìn)行交互。

安裝

K9s 可用于 Linux、macOS 以及 Windows 平臺(tái)。我使用的是 Linux 系統(tǒng),安裝方法如下:

[root@localhost ~]# wget https://github.com/derailed/k9s/releases/download/v0.21.7/k9s_Linux_x86_64.tar.gz
[root@localhost ~]# tar -zxf k9s_Linux_x86_64.tar.gz -C /usr/local/bin

獲取 K9s 信息:

[root@localhost ~]# k9s info
 ____  __.________       
|    |/ _/   __   \______
|      < \____    /  ___/
|    |  \   /    /\___ \ 
|____|__ \ /____//____  >
        \/            \/ 

Configuration:   /root/.k9s/config.yml
Logs:            /tmp/k9s-root.log
Screen Dumps:    /tmp/k9s-screens-root

啟動(dòng)

與 kubectl 相同,K9s 啟動(dòng)時(shí)會(huì)讀取默認(rèn)的 kubeconfig。

[root@localhost ~]# k9s

如果有多個(gè) config 文件,可以通過 --kubeconfig 指定。

[root@localhost ~]# k9s --kubeconfig=/srv/.kube/config

啟動(dòng)后界面如下:


使用示例

我之前在集群上安裝了攜程開源的配置中心 apollo,現(xiàn)在試試用 K9s 管理相關(guān)資源。

指定命名空間

目前 K9s 會(huì)羅列出所有命名空間下的 Pods,而 apollo 的資源都安裝在 kube-public 下,所以啟動(dòng)時(shí)指定下命名空間:

[root@localhost ~]# k9s -n kube-public

指定命名空間后 Pods 顯示如下:


如果啟動(dòng)時(shí)指定了命名空間,之后就可以用數(shù)字鍵切換。

編輯資源

現(xiàn)在試下用 K9s 編輯資源,增加 admin-server 的副本數(shù)。

這里的 admin-server 是一個(gè) Deployment,所以需要輸入 :deploy 進(jìn)入到 deployment 視圖里。

選擇 admin-server,輸入 e 進(jìn)行編輯。可以看到,副本數(shù)已經(jīng)增加到 2 了:

除了編輯資源的方式,也可以輸入 s 調(diào)整副本數(shù):

查看日志

由于剛剛添加了一個(gè)副本,我們查看下服務(wù)啟動(dòng)的日志。

選擇 admin-server,輸入 l 查看日志:

可以看到,服務(wù)啟動(dòng)正常,沒有報(bào)錯(cuò)。

獲取幫助

K9s 自帶了許多快捷鍵,可以通過輸入 ? 獲取幫助。

寫在最后

與 kubectl 相比,K9s 的功能無疑更為強(qiáng)大,算是一款管理 Kubernetes 集群的利器了。除了文中介紹的部分,K9s 自定義的功能也非常強(qiáng)大,支持自定義別名、快捷鍵以及皮膚,這里就不展開了。

References

[1] GitHub: https://github.com/derailed/k9s
[2] Speed up administration of Kubernetes clusters with k9s: https://opensource.com/article/20/5/kubernetes-administration
[3] K9s如何加速Kubernetes的集群管理: https://juejin.im/post/6847902224983539720

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容