iT邦幫忙

2025 iThome 鐵人賽

DAY 22
0

今天跟大家介紹 K9s,這是一款專為 Kubernetes 維運與監控 設計的開源 CLI 工具。
它能讓我們在終端環境中,快速查看資源狀態、執行日誌查詢、Port Forward、甚至進入容器操作。


🌐 官方資源

💡 建議從 GitHub 官方頁面確認安裝方式,因為不同作業系統(macOS、Windows、Linux)都有多種安裝選項。


🚀 啟動方式

安裝完成後,直接在命令列輸入:

k9s

即可開啟互動式介面。
https://ithelp.ithome.com.tw/upload/images/20251006/201343684P7RLdeOP9.jpg


⚙️ 核心操作指令

K9s 的操作邏輯非常直覺,核心只有三個指令:

指令 功能
: 輸入命令,查詢任意資源(例如 :pods:deployments
/ 篩選目前畫面中的項目
? 開啟快捷鍵說明(Help)

⌨️ 常用快捷鍵

Ctrl + a : 顯示所有可查詢的資源列表。
https://ithelp.ithome.com.tw/upload/images/20251006/20134368nrMVUmU1Jy.jpg

在項目清單的最右側「Command」欄位,可以看到每個資源對應的簡寫,例如:

  • podpo
  • deploymentdeploy
  • servicesvc

ddescribe顯示資源詳細資訊。
https://ithelp.ithome.com.tw/upload/images/20251006/20134368hDGzkx7qPa.jpg


llogs查看容器日誌。
https://ithelp.ithome.com.tw/upload/images/20251006/20134368ViAIL2nCOm.jpg


s:進入容器(等同於 kubectl exec -it)。

<<K9s-Shell>> Pod: default/test-pod | Container: test-pod
root@test-pod:/#

y:顯示資源的 YAML 內容。
https://ithelp.ithome.com.tw/upload/images/20251006/20134368XwxORxSVPA.jpg


Ctrl + c:複製目前頁面內容(常用於擷取 logs)。
https://ithelp.ithome.com.tw/upload/images/20251006/20134368g6B3f7A4QM.jpg


Shift + f:設定 Port Forward(搭配 f 可查看現有 pf)。
https://ithelp.ithome.com.tw/upload/images/20251006/20134368KhG4HRttY9.jpg

  • 設定 Port Forward 後可使用 f 搭配 Ctrl + d 刪除 會比較方便
    https://ithelp.ithome.com.tw/upload/images/20251006/20134368aQQsvxiZd0.jpg

⚠️ 謹慎使用的操作

Ctrl + d:刪除資源(會有確認提示,但仍應謹慎操作)。
https://ithelp.ithome.com.tw/upload/images/20251006/20134368xfVl4RZaYJ.jpg

e:編輯 YAML(修改設定後會立即套用到叢集)。
https://ithelp.ithome.com.tw/upload/images/20251006/201343689Z9SabECXw.jpg


🧪 特殊功能

xray + resource :顯示資源依賴關係圖(0.50.x 版本疑似有 bug)。
https://ithelp.ithome.com.tw/upload/images/20251006/20134368omWwq4bwqY.png

pulse :顯示系統資源儀表板(視覺化概覽)。

https://ithelp.ithome.com.tw/upload/images/20251006/20134368NYoh5GuuAp.png

🔍 特殊查詢項目

除了常見的資源(Pod、Service、Deployment...),K9s 也支援以下特別項目:

helm :查看 Helm release 列表。
https://ithelp.ithome.com.tw/upload/images/20251006/20134368J0NhNIMV1D.jpg

helm-history :查看 Helm release 歷史版本。
https://ithelp.ithome.com.tw/upload/images/20251006/201343688hK9LdD4bn.jpg

💡 提示:必須帶上 release 名稱才能查看歷史,也可以在 helm 頁面中直接對 release 按 Enter 以查看版本紀錄。

⚠️ 提醒:
早期使用 helm-history 進行 upgrade / rollback 曾出現版本錯誤問題。
不建議透過此功能執行維運操作


📚 延伸:查詢可用 API 資源

你可以透過以下指令列出所有支援的 API group/version:

kubectl api-resources

https://ithelp.ithome.com.tw/upload/images/20251006/201343688QcpI7aEbr.jpg

這些列出的項目,基本上也都能透過 K9s 查詢或管理。


小結

今天我們介紹了 K9s,展示了它如何協助快速查詢 Kubernetes 資源、查看 Pod 日誌以及管理 Helm release。K9s 提供了一個直覺的 CLI 介面,可以在日常維運中提高效率。而在前三天的 Kubernetes 實務系列中,我們主要涵蓋了:

  1. Kubernetes 核心資源與抽象概念

    • Cluster、Node、Pod、Namespace、Service
    • Label 與 Annotation 的差異與實務應用
    • Google Managed Prometheus 的 metrics 管理與成本考量
  2. 配置管理與資源調度

    • ConfigMap 的使用,將設定與程式碼解耦,確保多服務初始化取得一致配置
    • Affinity / Anti-Affinity、Taint / Toleration,精準控制 Pod 調度,提高叢集穩定性與高可用性
  3. Operator 與自動化維運

    • CRD 結構與除錯方法
    • 以 Flink Operator、Strimzi Kafka Operator 為例,展示如何將應用層與維運層分離
    • 理解 Operator 設計哲學,提升 Kubernetes 自動化能力

整體而言,這個階段的分享希望幫助讀者:

  • 建立對 Kubernetes 核心概念與實務操作的完整理解
  • 掌握配置管理與 Pod 調度的實務技巧
  • 了解如何運用 Operator 與 Helm 提升叢集自動化維運效率
  • 更有效地調控與維運 Kubernetes 服務

💡 接下來,我們將進入 Terraform 與基礎建設自動化(Day 23-26),學習如何以IaC管理雲端資源與資料平台基礎設施,持續深化實戰技能。

謝謝各位的閱讀,祝大家中秋佳節愉快,我們明天見!


上一篇
Day21 Kubernetes 實務分享 (3)
下一篇
Day23 Terraform 基礎介紹
系列文
雲端與資料平台實戰:從抽象概念到落地技術24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言