一文玩兒轉 Rancher Desktop

Rancher發表於2022-03-16
作者簡介
王海龍, 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-sa...) 頁面下載適用你係統的 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/r...

配置 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/...

使用 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 是 Kubernetes 的可移植資源管理器,沒有任何依賴關係。它整合了 Rancher steve 框架及其儀表板,並經過重新編譯、打包、壓縮,並提供了一個幾乎完全無狀態的 Kubernetes 資源管理器。

要安裝 kube-explorer,請從 kube-explorer release (https://github.com/cnrancher/...) 頁面下載二進位制檔案。

執行 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/ranche... 來查閱相關資料。

問: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!

相關文章