在新興的云原生環境中,Kubernetes無處不在。它已成為編排容器的標準。但是,管理多個 Kubernetes 集群(必須以一致且安全的方式在任何地方運行)提出了一系列新挑戰。因此,對 Kubernetes 管理工具的需求就出現了。
讓我們探索一些有效管理 Kubernetes 的流行解決方案。
1. K9s
k9s是一個基于終端的資源儀表板。它只有一個命令行界面。無論您在 Kubernetes 儀表板 Web UI 上做什么,您也可以使用此終端 k9s 儀表板實用程序執行相同操作。
它持續關注 Kubernetes 集群,并提供命令來處理集群上定義的資源。
以下是 K9s 的功能:
- 集群實時跟蹤
- 使用 K9s 皮膚自定義視圖
- 輕松遍歷 Kubernetes 資源
- 向下鉆取選項以檢查集群資源問題
- 提供擴展插件來創建您自己的命令
2. Rancher
Rancher是一個開源容器管理平臺,可讓任何企業輕松采用 Kubernetes。您可以部署和管理在 GKE (GCP)、EKS (AWS)、AKS (Azure) 中運行的云托管 Kubernetes 集群,也可以僅在您選擇的 VM 或裸機基礎設施上部署 Kubernetes。
Rancher 簡化了管理員的所有操作職責,包括:
- 監控集群的運行狀況
- 設置警報和通知
- 啟用集中日志記錄
- 定義和應用全局安全策略
- 建立身份驗證并執行我們的后臺策略
- 管理和擴展您的基礎架構
隨著 Kubernetes 在整個公司的采用加速,rancher 鼓勵快速采用讓用戶直接訪問 Kubernetes API 和 CLI。Rancher 的全新智能界面簡化了應用管理;團隊可以輕松部署和管理工作負載、定義 Secret 并管理私有注冊表、配置持久卷聲明、配置負載平衡和服務發現、管理 CI 管道。
3. Dashboard + Kubectl + Kubeadm
該Kubernetes儀表盤是一個基于Web的界面來部署集裝箱式應用。它對您的應用程序進行故障排除并管理集群本身以及資源。
您可以使用儀表板概覽集群上運行的應用程序,以及創建或修改單個 Kubernetes 資源,例如部署作業、副本集等。
您可以擴展部署,也可以啟動滾動更新,甚至可以使用儀表板上的部署向導重新啟動 Pod 或部署新應用程序。
Kubectl是一個命令行工具,用于與 API 服務通信并向主節點發送命令。它對 Kubernetes 集群 API 服務器的 API 調用的隱蔽命令。
Kubeadm是一個帶有內置命令的工具,用于啟動最小的 Kubernetes 集群。它用于引導集群而不是配置機器。使用 kubeadm,您可以運行一些基本命令來引導集群、創建令牌以加入集群、還原對 Kubernetes 集群所做的更改等。
4. Helm
Helm是 Kubernetes 的包管理器。它允許開發人員和運營商在 Kubernetes 集群上打包、配置和部署應用程序和服務。它為操作員提供了對 Kubernetes 集群的更大控制,這些操作:
- 使應用程序部署變得簡單、標準化和可重用
- 通過掌舵圖輕松描述復雜的應用程序
- 提高開發人員的生產力
- 降低部署復雜性
- 增強操作準備
- 加快云原生應用的采用
- 輕松回滾到以前的版本
Helm 使用包含所有資源定義的 Charts 在 Kubernetes 集群上運行應用程序或服務。您可以在此處找到可供使用的多個Helm圖表。
5. KubeSpray
KubeSpray是一個集群生命周期管理器,可幫助您部署生產就緒的 Kubernetes 集群。它使用ansible-playbook來自動化 Kubernetes 集群配置。
其中一些功能包括:
- 基于 Ansible
- 高可用
- 跨平臺
- 生產水平
- 流行的云提供商集成甚至裸機
- 多種配置選項
- 多平臺 CI/CD
- 默認安全
默認情況下,Kubespray 允許您通過 kube-master IP 地址和端口 6443 遠程連接到 Kubernetes 集群。如果您需要靈活的部署,Kubespray 最適合;它提供了很多自定義配置選項。
另外,如果您熟悉Ansible,那么 Kubespray 非常易于使用。
6. Kontena Lens
Kontena Lens是Kubernetes的智能儀表板。
它是您控制 Kubernetes 所需的唯一管理系統。它可免費用于 Mac OS、Windows 和 Linux 操作系統。鏡頭應用程序啟動后,您將在界面中看到所有關聯集群的列表。
對于真正需要每天處理 Kubernetes 的人來說,它是最強大的 IDE。您可以確保正確設置和配置集群,并且可以更輕松、更快速地使用集群,從根本上提高生產力和業務發展速度。
Kontena Lens IDE 的特點是:
- 可以一次管理多個集群
- 實時可視化集群狀態
- 提供內置終端
- 安裝非常簡單,因為它是一個獨立的應用程序
- 驚人的用戶界面和用戶體驗
- 支持 Kubernetes RBAC
- 經測試可處理集群中近 25K 的 Pod
Kubernetes 是一個復雜的工具,Lens IDE 甚至可以幫助初學者輕松上手 Kubernetes。它是管理和可視化 Kubernetes 集群的最佳工具之一。
7. WKSctl
WKSctl代表 Weave Kubernetes 系統控制。它是 Weave Kubernetes 平臺的一部分。
WKSctl 是一個使用GitOps進行 Kubernetes 配置管理的工具。GitOps 只不過是一組使用 git 請求以傳統方式管理應用程序和基礎設施的實踐。
使用 WKSctl,您可以通過 Git 提交來管理 Kubernetes 集群。您可以升級集群或從集群中添加/刪除節點。
您可以在兩種模式下運行此工具:獨立模式和 GitOps 模式。在獨立模式下,它會創建一個靜態集群。在 GitOps 模式下,它根據 git 上存在的 cluster.yml 和machines.yml 信息配置集群。
WKSctl 特點:
- 使用 git 快速啟動集群
- 部署失敗時輕松回滾
- 記錄變更以供審查和審計
- 創建集群只需要 IP 地址和 ssh 密鑰
- 不斷驗證和糾正集群狀態
結論
所以這就是流行的 Kubernetes 管理工具/軟件,可以輕松管理 Kubernetes 集群。選擇上面提到的任何一種工具,并在您的Kubernetes集群上試用它!