作者簡介
王海龍, SUSE Rancher 中國社區技術經理,負責 Rancher 中國技術社區的維護和運營。擁有 8 年的雲計算領域經驗,經歷了 OpenStack 到 Kubernetes 的技術變革,無論底層操作系統 Linux,還是虛擬化 KVM 或是 Docker 容器技術都有豐富的運維和實踐經驗。
什么是 Rancher Desktop
Rancher Desktop 是一款在桌面上提供容器和 Kubernetes 管理的應用。它適用於 Mac(包括 Intel 和 Apple 芯片)、Windows 和 Linux,允許在工作站本地運行 Kubernetes 和容器管理。
它提供了許多很棒的功能,例如允許你選擇在本地運行的 Kubernetes 版本,使用 containerd 或 Moby(即 dockerd)構建、推送和運行容器鏡像。而且,你不需先將鏡像推送到鏡像倉庫就可以構建和運行這些鏡像。
Rancher Desktop 架構
Rancher Desktop 基於 Electron 實現跨平台用戶界面,封裝了 nerdctl、kubectl、Helm、Docker CLI 等工具。在 MacOS 和 Linux 上,Rancher Desktop 利用虛擬機運行 containerd 或 dockerd 和 Kubernetes。在 Windows 中使用的是 Windows Subsystem for Linux 2 (WSL2)。
Rancher Desktop 使用專門的 Rancher K3s 發行版。K3s 是一個 CNCF 沙盒項目,它提供了一個輕量級的 Kubernetes 發行版,主要適用於邊緣計算、物聯網等場景。K3s 安裝簡單且非常輕量。不僅適用於生產環境,而且還可以作為本地開發平台在 Rancher Desktop 內運行。
你所需要做的就是下載並運行 Rancher Desktop。
Rancher Desktop 安裝和配置
撰寫本文時,Rancher Desktop 最新版為 1.0.1
下載 Rancher Desktop
從 Github release (https://github.com/rancher-sandbox/rancher-desktop/releases) 頁面下載適用你系統的 Rancher Desktop:
在 Mac 上安裝 Rancher Desktop
由於我的電腦是 Mac,我將下載並安裝 Rancher Desktop 1.0.1 的 Mac 版本。從上面的截圖中可以看出,安裝包很小,只有 339 MB。下載 Rancher Desktop 后,只需運行 Rancher.Desktop-1.0.1.x86_64.dmg 並按照提示將 Rancher Desktop 移動到 Applications 中即可完成安裝。
更多安裝方式請參考官方文檔:http://docs.rancher.cn/docs/rancherdesktop/installation/_index
配置 Rancher Desktop Kubernetes
- 打開 Rancher Desktop 后,會自動配置和啟動 Kubernetes 集群:
- 從 Kubernetes Settings 選項卡中可以看到 Kubernetes 的默認參數配置:
- 幾分鍾后,會完成 Rancher Desktop 加載:
此時,你已經完成了 Rancher Desktop 的安裝和配置。並且你已經在本地啟動了一個可以用來操作的 Kubernetes 集群。
-
General 選項卡提供有關項目狀態的一般信息,以及討論項目、報告問題或了解有關項目的更多信息的鏈接。
-
在 Kubernetes Settings 選項卡上,你可以管理虛擬機的設置,比如:Kubernetes 版本、Container Runtime(容器運行時)、內存、CPU 等。你也可以通過 Reset Kubernetes/Reset Kubernetes and Container Images 來重置 Kubernetes 集群。
- 在 Supporting Utilities 選項卡上,你可以創建指向 /usr/local/bin 中工具的符號鏈接。默認情況下,如果本地不存在該工具,就會創建一個符號鏈接。
- Images 選項卡允許你管理虛擬機上的鏡像,包括拉取和構建鏡像。
- Troubleshooting 選項卡可以查看日志,如果遇到問題,還可以將環境重置為出廠配置。
注意:
Windows、Linux 和 Mac 版的 Rancher Desktop 支持的選項可能有所不同,更多支持的選項說明請參考官方文檔:https://docs.rancher.cn/docs/rancherdesktop/features-guide/preferences/_index
使用 nerdctl 命令行工具
Nerdctl 是一個與 Docker CLI 風格兼容的 containerd CLI 工具,使用體驗和 Docker 基本一致,例如 docker run、docker pull 和 docker logs。Nerdctl 基本涵蓋了 Docker CLI 的所有功能,同時,它還實現了很多 Docker 中不具備的功能,比如:延遲拉取鏡像(lazy-pulling)、鏡像加密(imgcrypt)等。
Rancher Desktop 啟動 Kubernetes 集群后,會自動在你的工作站中安裝 nerdctl。所以你可以直接通過 nerdctl 來操作你的集群:
使用 Kubectl 連接 Rancher Desktop Kubernetes
現在,我們可以使用 Kubectl 連接到 Rancher Desktop Kubernetes 集群。但首先需要確保你的 kubectl context 設置為 Rancher Desktop Kubernetes 集群。你可以通過 Kubernetes Contexts 來查看或切換當前的 context:
當然,你也可以通過 kubectl config get-contexts 來查看:
最后,就可以使用普通的 kubectl 命令查看 pod 和節點:
儀表盤
Rancher Desktop 1.0.1 沒有提供用於管理 Kubernetes 集群的儀表盤。默認情況下,你只能通過 kubectl、helm、nerdctl 管理 Rancher Desktop 創建的 Kubernetes 集群。
如果你想通過一個簡潔的儀表盤來管理 Rancher Desktop 創建的 Kubernetes 集群,你可以使用 Kube-explorer (https://github.com/cnrancher/kube-explorer)。
Kube-explorer 是 Kubernetes 的可移植資源管理器,沒有任何依賴關系。它集成了 Rancher steve 框架及其儀表板,並經過重新編譯、打包、壓縮,並提供了一個幾乎完全無狀態的 Kubernetes 資源管理器。
要安裝 kube-explorer,請從 kube-explorer release (https://github.com/cnrancher/kube-explorer/releases) 頁面下載二進制文件。
運行 HTTP 的 Server:
/kube-explorer --http-listen-port=9898 --https-listen-port=0
然后,打開瀏覽器訪問 http://x.x.x.x:9898 ,接下來你就可以通過一個非常簡潔的儀表盤來管理你的 Kubernetes 集群了。
注意:如果你在 Windows 上安裝 Rancher Desktop,你可以使用 kubectl 方式來安裝 kube-explorer。
社區常見問題
問:Rancher Desktop 支持中文么?
目前 Rancher Desktop 還不支持中文,但 Rancher Desktop 的中文文檔已經上線,大家可以訪問 http://docs.rancher.cn/rancherdesktop/ 來查閱相關資料。
問:Rancher Desktop 是 Rancher 的桌面版本嗎?
不是,Rancher Desktop 不是桌面上的 Rancher。安裝 Rancher Desktop 並不安裝 Rancher,但你可以將 Rancher 作為一個工作負載來安裝。Rancher Desktop 類似於 minikube、kind 或 Docker Desktop 等應用,其目標是擁有一個易於設置的本地 Kubernetes 環境來管理容器。
問:與 Docker Desktop 相比如何?Rancher Desktop 是不是要取代 Docker Desktop?
我們開始開發 Rancher Desktop 的目的並不是要創建一個替代 Docker Desktop 的產品。相反,我們專注於改善本地運行 Kubernetes 的體驗,而 Docker Desktop 專注於容器化應用程序。而且,Docker 多年來一直致力於 Docker Desktop,使其在容器化應用程序方面表現出色。
隨着我們向 Rancher Desktop 中添加構建、推送和拉取鏡像並運行容器等功能。Rancher Desktop 在功能方面開始與 Docker Desktop 重疊。
后記
Rancher Desktop 是一個很好的解決方案,可以輕松地在本地工作站上建立本地 Kubernetes 環境,而且非常輕量(內置 K3s),非常適用於開發、學習和其他目的。使用 Rancher Desktop 運行 Kubernetes 的過程也非常簡單,並且提供了其他開發環境所沒有的功能,例如:任意切換 Kubernetes 版本來配置環境;切換你喜歡的容器運行時等。
Rancher Desktop 1.0.1 還不支持離線安裝,對應的配置選項也不是特別豐富,需要手動安裝儀表盤等。后續版本會支持離線安裝,並且也會把 Rancher Dashboard 集成進來,同時也會支持更多你需要的高級配置選項。
用一句最近比較火的一句話結束本篇分享:你永遠可以相信 Rancher Team!