k9s: 快速管理 Kubernetes 集羣

事實上 Kubectl 是最流行的 Kubernetes 命令行工具,用於訪問 Kubernetes 集羣指標。但是,使用 Kubectl 獲取指標和操作 Kubernetes 集羣需要知道許多命令。儘管命令行接口很健壯,但是命令運行起來很快就會變得很麻煩。例如,下面是一個編輯 deployment 的命令:

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

雖然不是最長的命令,但是多次操作這樣的命令會很麻煩。幸運的是,有個開源項目 K9s 是一個終端 UI,可以更快更容易地與 k8s 集羣交互。它抽象了許多常見的 kubectl 命令,並將它們映射到幾個快捷鍵或鼠標點擊上面。

在本教程中,你將學習如何安裝 K9s 並使用它來獲取集羣指標並幫助管理你的 k8s 集羣。

在 Linux 發行版上安裝 k9s

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

brew install derailed/k9s/k9s

本教程將重點介紹如何在 Linux 上使用 k9s,但也有一些版本可用於其他操作系統。
通過檢查 k9s 版本確認安裝成功。

k9s version

如果 K9s 安裝成功,系統顯示如下:

 ____  __.________       
|    |/ _/   __   \______
|      < \____    /  ___/
|    |  \   /    /\___ \ 
|____|__ \ /____//____  >
        \/            \/ 
Version:    v0.27.0
Commit:     b5a7cfb3af43a0a79423683094bd33b1b9605faf
Date:       2023-01-26T18:09:55Z

首先,使用 k9s -h 命令顯示所有可用命令。這將幫助你更快地學習 k9s,更清楚地瞭解某些命令。此外,你可以從文檔中瞭解更多關於 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 集羣指標

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

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 終端

使用以下命令在終端上啓動 k9s:

k9s

將得到以下輸出,其中顯示了 kubecconfig 中存在的所有集羣;K9s 將自動從 kubecconfig 讀取與集羣相關的信息。然後你可以選擇你想要訪問的集羣:

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

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

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

編輯資源

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

修改內容並保存文件,然後關閉文本編輯器返回 K9s 終端。

如何使用 k9 管理集羣

設置日誌管理系統來簡化日誌可以幫助你管理和跟蹤集羣性能和資源問題。日誌工具將提供分類日誌和稍後檢索日誌的功能。K9s 將顯示命名空間的日誌。要獲取特定命名空間的日誌,單擊該命名空間,然後單擊 L 鍵顯示日誌。
K9s 不允許選擇文本。如果要複製日誌,請按 c 鍵。

要顯示特定時間範圍的日誌,請在鍵盤上輸入以下數字:
1: 表示最近一分鐘的所有日誌。
2: 5 分鐘以上。
3: 15 分鐘以上。
4: 30 分鐘以上。
0: pod 的整個生命週期。

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

獲取關於集羣的信息

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

要獲得在 K9s 中的位置,請查看 K9s UI 終端的底部,你將看到當前所在位置。右邊的最後一個組件是你當前的位置:

上圖顯示我目前正在訪問 pod 日誌。如果我按下 esc 鍵,容器文本將高亮顯示爲黃色,以表明我現在正在訪問容器。
如果你想回退,按下 esc 鍵。你還可以在 K9s UI 的每個部分的頂部獲得其他導航功能和任務。

當你需要幫助的時候,按? 鍵以獲取可應用於所選資源的所有鍵。
以下是你肯定會用到的基本導航鍵:

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

描述資源

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

獲取資源指標

K9s 使集羣管理變得簡單,因爲它允許你使用: pulses 的命令獲取已創建的 Statefulsets、DaemonSets、deployment 和其他資源的數量。這個命令增強了可訪問性,你可以在一個窗口中查看資源,而且最重要的是,可以選擇要描述或編輯的對象。

總結

在本教程中,學習瞭如何在 Linux 上安裝 K9s,獲取關於 k8s 集羣的信息,以及如何使用 K9s 管理集羣。
隨着 Kubernetes 第三方工具和插件的增加,簡化了容器編排過程,對於不知道容器是什麼的初學者來說,Kubernetes 將變得更容易、更友好。K9s 已經被證明是一個第三方工具,可以在特定的層面上消除 Kubernetes 的痛點。它也是一個很好的工具,推薦給那些覺得使用 Kubectl 管理資源困難的 Kubernetes 初學者。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/gcQZk7M2J32-QG8nOkZ79g