一文玩儿转 Rancher Desktop

网友投稿 509 2022-11-03

一文玩儿转 Rancher Desktop

作者简介王海龙, 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 (页面下载适用你系统的 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 中即可完成安装。

更多安装方式请参考官方文档: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 支持的选项可能有所不同,更多支持的选项说明请参考官方文档: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 (是 Kubernetes 的可移植资源管理器,没有任何依赖关系。它集成了 Rancher steve 框架及其仪表板,并经过重新编译、打包、压缩,并提供了一个几乎完全无状态的 Kubernetes 资源管理器。

要安装 kube-explorer,请从 kube-explorer release (页面下载二进制文件。

运行 HTTP 的 Server:

/kube-explorer ----,接下来你就可以通过一个非常简洁的仪表盘来管理你的 Kubernetes 集群了。

注意:如果你在 Windows 上安装 Rancher Desktop,你可以使用 kubectl 方式来安装 kube-explorer。

​社区常见问题​

​问:Rancher Desktop 支持中文么?​

目前 Rancher Desktop 还不支持中文,但 Rancher Desktop 的中文文档已经上线,大家可以访问 来查阅相关资料。

​问: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!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:fireflyROC-RK3399主板PC-Ubuntu简介
下一篇:从旁观者到贡献者:经历 OpenYurt 的“开源之夏”,我们想让更多人体验社区的魅力
相关文章

 发表评论

暂时没有评论,来抢沙发吧~