k9s:快速管理Kubernetes資源

事實(shí)上Kubectl是最流行的Kubernetes命令行工具,用于訪問Kubernetes集群指標(biāo)。但是,使用Kubectl獲取指標(biāo)和操作Kubernetes集群需要知道許多命令。盡管命令行接口很健壯,但是命令運(yùn)行起來很快就會(huì)變得很麻煩。例如,下面是一個(gè)編輯deployment的命令:

kubectl edit deployment/mydeployment -o yaml --save-config

雖然不是最長的命令,但是多次操作這樣的命令會(huì)很麻煩。幸運(yùn)的是,有個(gè)開源項(xiàng)目K9s是一個(gè)終端UI,可以更快更容易地與k8s集群交互。它抽象了許多常見的kubectl命令,并將它們映射到幾個(gè)快捷鍵或鼠標(biāo)點(diǎn)擊上面。

在本教程中,你將學(xué)習(xí)如何安裝K9s并使用它來獲取集群指標(biāo)并幫助管理你的k8s集群。

在Linux發(fā)行版上安裝k9s

在安裝K9s之前,如果還沒有安裝kubectl,請確保安裝了kubectl。本教程將使用一個(gè)minikube集群作為示例項(xiàng)目,但是k9s與任何類型的k8s集群都可正常工作。
可以使用homebrew安裝:

brew install derailed/k9s/k9s

本教程將重點(diǎn)介紹如何在Linux上使用k9s,但也有一些版本可用于其他操作系統(tǒng)。
通過檢查k9s版本確認(rèn)安裝成功。

k9s version

如果K9s安裝成功,系統(tǒng)顯示如下:

 ____  __.________       
|    |/ _/   __   \______
|      < \____    /  ___/
|    |  \   /    /\___ \ 
|____|__ \ /____//____  >
        \/            \/ 

Version:    v0.27.0
Commit:     b5a7cfb3af43a0a79423683094bd33b1b9605faf
Date:       2023-01-26T18:09:55Z

首先,使用k9s -h命令顯示所有可用命令。這將幫助你更快地學(xué)習(xí)k9s,更清楚地了解某些命令。此外,你可以從文檔中了解更多關(guān)于K9s的信息。

# k9s  -h
K9s is a CLI to view and manage your Kubernetes clusters.

Usage:
  k9s [flags]
  k9s [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  help        Help about any command
  info        Print configuration info
  version     Print version/build info

K9s訪問Minikube集群指標(biāo)

在開始使用k9s之前,讓我們啟用metrics-server插件,它將允許k9s訪問minikube集群指標(biāo)。使用以下命令允許K9s從minikube集群收集指標(biāo):

minikube addons enable metrics-server

將得到以下輸出:

! Executing "docker container inspect minikube --format={{.State.Status}}" took
an unusually long time: 6.2066183s
* Restarting the docker service may improve performance.
* The 'metrics-server' addon is enabled

使用K9s UI終端

使用以下命令在終端上啟動(dòng)k9s:

k9s

將得到以下輸出,其中顯示了kubecconfig中存在的所有集群;K9s將自動(dòng)從kubecconfig讀取與集群相關(guān)的信息。然后你可以選擇你想要訪問的集群:



如果接下來在終端按數(shù)字0,你將得到集群中的所有名稱空間資源信息:



你可以使用UI表頂部顯示的命令在UI終端中查看集群資源信息。

此外,你還可以在鍵盤上按?鍵獲得所有可用的快捷鍵:


編輯資源

使用k9s,很容易編輯資源的manifest。通過點(diǎn)擊字母e, K9s會(huì)進(jìn)入你選擇的資源YAML文件,可在文本編輯器中編輯:



修改內(nèi)容并保存文件,然后關(guān)閉文本編輯器返回K9s終端。

如何使用k9管理集群

設(shè)置日志管理系統(tǒng)來簡化日志可以幫助你管理和跟蹤集群性能和資源問題。日志工具將提供分類日志和稍后檢索日志的功能。K9s將顯示命名空間的日志。要獲取特定命名空間的日志,單擊該命名空間,然后單擊L鍵顯示日志。
K9s不允許選擇文本。如果要復(fù)制日志,請按c鍵。



要顯示特定時(shí)間范圍的日志,請?jiān)阪I盤上輸入以下數(shù)字:
1:表示最近一分鐘的所有日志。
2: 5分鐘以上。
3: 15分鐘以上。
4: 30分鐘以上。
0: pod的整個(gè)生命周期。



使用escape鍵回到主終端界面。

獲取關(guān)于集群的信息

K9s有一個(gè)搜索欄,你可以通過按冒號:并輸入你想訪問的資源來切換。例如,如果您按下冒號并鍵入“de”,k9s將自動(dòng)補(bǔ)全以建議顯示deploy資源。如果你想接受建議,請按tab鍵,然后按enter鍵訪問資源:



要獲得在K9s中的位置,請查看K9s UI終端的底部,你將看到當(dāng)前所在位置。右邊的最后一個(gè)組件是你當(dāng)前的位置:



上圖顯示我目前正在訪問pod日志。如果我按下esc鍵,容器文本將高亮顯示為黃色,以表明我現(xiàn)在正在訪問容器。
如果你想回退,按下esc鍵。你還可以在K9s UI的每個(gè)部分的頂部獲得其他導(dǎo)航功能和任務(wù)。

當(dāng)你需要幫助的時(shí)候,按?鍵以獲取可應(yīng)用于所選資源的所有鍵。
以下是你肯定會(huì)用到的基本導(dǎo)航鍵:



對對象和資源進(jìn)行排序可以提高搜索能力。使用以下鍵對組件進(jìn)行排序,并快速找到你要找的東西:

描述資源

使用K9s,你不需要輸入很長的命令來描述一個(gè)命名空間或任何其他Kubernetes資源;只要按下字母d,你就會(huì)得到描述:


獲取資源指標(biāo)

K9s使集群管理變得簡單,因?yàn)樗试S你使用:pulses的命令獲取已創(chuàng)建的Statefulsets、DaemonSets、deployment和其他資源的數(shù)量。這個(gè)命令增強(qiáng)了可訪問性,你可以在一個(gè)窗口中查看資源,而且最重要的是,可以選擇要描述或編輯的對象。


總結(jié)

在本教程中,學(xué)習(xí)了如何在Linux上安裝K9s,獲取關(guān)于k8s集群的信息,以及如何使用K9s管理集群。
隨著Kubernetes第三方工具和插件的增加,簡化了容器編排過程,對于不知道容器是什么的初學(xué)者來說,Kubernetes將變得更容易、更友好。K9s已經(jīng)被證明是一個(gè)第三方工具,可以在特定的層面上消除Kubernetes的痛點(diǎn)。它也是一個(gè)很好的工具,推薦給那些覺得使用Kubectl管理資源困難的Kubernetes初學(xué)者。

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

相關(guān)閱讀更多精彩內(nèi)容

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