kubectl 簡介
kubectl 是 Kubernetes 的瑞士軍刀 CLI,功能強大。
本書主要關注使用 kubectl 宣告式管理 Kubernetes 中的應用程式,但也涵蓋了其他 kubectl 的功能。
命令系列
大多數 kubectl 命令通常屬於以下幾個類別之一:
型別 | 用途 | 描述 |
---|---|---|
宣告式資源管理 | 部署和運維 (例如:GitOps) | 使用資源配置宣告式地管理 Kubernetes 工作負載 |
命令式資源管理 | 僅用於開發 | 使用命令列引數和標誌執行命令來管理 Kubernetes 工作負載 |
列印工作負載狀態 | 除錯 | 列印關於工作負載的資訊 |
與容器互動 | 除錯 | Exec、attach、cp、logs |
叢集管理 | 叢集操作 | 節點驅逐和隔離 |
宣告式應用程式管理
管理資源的首選方法是透過稱為資源配置的宣告式檔案,與 `kubectl apply` 命令一起使用。此命令讀取本地(或遠端)檔案結構,並修改叢集狀態以反映宣告的意圖。
Apply
Apply 是在 Kubernetes 叢集中管理資源的優選機制。列印工作負載狀態
使用者需要檢視工作負載狀態。
- 列印資源的彙總狀態和資訊
- 列印資源的完整狀態和資訊
- 從資源中列印特定欄位
- 查詢匹配標籤的資源
除錯工作負載
kubectl 透過提供以下命令來支援除錯:
- 列印容器日誌
- 列印叢集事件
- 執行或附加到容器
- 將叢集中容器的檔案複製到使用者的檔案系統
叢集管理
有時,使用者可能需要對叢集節點執行操作。kubectl 支援命令來驅逐節點上的工作負載,以便可以將其退役或進行除錯。
Porcelain (便捷命令)
對於開發,使用者可能覺得使用資源配置過於繁瑣,並更願意使用類 shell 工作流命令式地與叢集互動。kubectl 提供了 porcelain 命令來生成和修改資源。
- 生成和建立資源,例如 Deployments、StatefulSets、Services、ConfigMaps 等。
- 設定資源的欄位
- 在文字編輯器中編輯(即時)資源
僅用於開發的 Porcelain 命令
Porcelain 命令可以節省在開發叢集中嘗試工作負載的時間,但不應用於生產環境。最後修改於 2024 年 4 月 30 日上午 10:31 (太平洋標準時間): kubectl/introduction.md 中一些術語使用小寫 (92ccce607e)