是时候从 Lens 迁移到 OpenLens 来管理您的 Kubernetes 集群了吗?

tl;博士; OpenLens 与没有专有组件的 Lens IDE 相同,并且基于 MIT 许可证免费提供。但是目前没有可用于 OpenLens 的签名二进制文件。本文讨论了有关社区代码签名的众筹,并展示了如何为 macOS、Linux 和 Windows 自己编译 OpenLens。
—
随着时间的推移,Lens IDE 肯定在 Kubernetes 管理员和应用程序开发人员中越来越受欢迎。它将复杂的 Kubernetes 基础设施集中在一个易于理解和管理的界面中。
作为一个拥有 MIT 许可证](https://github.com/lensapp/lens/blob/master/LICENSE)的[开源软件,帮助 Lens 更快地获得普及。然而,近几个月来,Lens 背后的公司已经开始推动 Lens 用户创建 Lens ID,并且将为企业提供新的定价模式。换句话说,Lens 不再对所有人开放。
我们通常下载安装的Lens IDE并不是真正开源的,它是一个专有应用程序。它源自原始和开源的OpenLens,其中添加了额外的云ID和其他专有模块,例如云登录,并作为“Lens”分发。它更像是源自 Chromium 的 Google 的 Chrome。
还有其他替代 Lens 的替代方案,其中之一是名为k9s的基于 CLI 的工具。但是,k9s 的功能有限。为了释放全部潜力(例如自定义资源定义的可见性),有一个名为k9sα的付费升级

k9s官网截图
在本文中,我们将重点介绍 OpenLens。
可执行的 OpenLens 二进制文件在哪里?
下载和运行 Lens 非常简单。但是,在查看OpenLens 发布存储库时,您只会找到源代码:

好像他们只是为 Lens 编译和构建应用程序一样。而不是 OpenLens。
好消息是,您可以克隆 OpenLens git 存储库,如果您的机器有编译所需的工具(node、yarn 等),您可以通过make build命令自己编译二进制文件。
社区 OpenLens 二进制文件
在我最初的研究中,我发现了这个存储库,作者是 M. Kalkan。
你可以找到编译版本适用于 Windows、macOS(英特尔和 Apple Silicon)、基于 Redhat 的 Linux、基于 Debian 的 Linux,甚至 Linux 的 AppImage:

这背后的想法非常简单。它从 OpenLens 存储库中克隆了 Lens 的开源版本(OpenLens),并使用 Github 操作在 3 个不同的操作系统中运行make build。
如前所述,Lens 团队准备了make build命令来编译和提供基于运行 OS 的二进制文件,它只需要在进行编译和构建的系统中存在正确的编译工具。在这种情况下,存储库正在使用 Github 提供的运行器并安装必要的工具。
有问题吗?
好吧,我个人不认识 Kalkan,所以我不能为他做担保,也不能保证那里的一切都安全,但是看看管道和 Github 操作,我觉得一切都很好,我希望他的存储库能够获得动力并获得普及。事实上,我希望社区努力让 OpenLens 主流关注他的存储库。我个人为他的Patreon做出了贡献,以支付代码签名的费用。
代码签名!
这是我目前遇到这个 OpenLens 分叉的唯一问题,我希望随着越来越多的人为这个存储库的Patreon做出贡献,我希望能尽快解决这个问题。
Linux 版本不需要对二进制文件进行签名,但是,Windows 和 macOS 会对没有签名的二进制文件发出警告。
我可以在我的个人 M1 计算机上运行 OpenLens,而无需代码证书:

但是,它需要签名才能在有限的组织笔记本电脑上运行:

这是自编译 OpenLens 二进制文件的屏幕截图,但是,此 repo 中提供的二进制文件在受限的 Windows 机器中会引发类似的错误。

如果您的窗口由组织控制并且他们对可以运行的内容设置了限制,则无法绕过它。
请注意,这个文件是安全的,因为我是从 Open Lens 开源存储库中亲自编译的。 (我没有下载 M. Kalkan 的存储库中提供的 Windows 二进制文件)但是如果您的 Windows/macOS 机器受到限制,M. Kalkan 的存储库会抛出类似的错误,很可能是因为它没有使用付费证书签名。
对于较小组织中的用户或在其个人计算机上运行 OpenLens 的用户来说,这不是问题。因为如果他们信任应用程序,他们可以只运行 OpenLens 并绕过有关未签名应用程序的 Windows/macOS 警告。然而,许多大型组织的笔记本电脑都有限制和保护措施,无法运行未签名的二进制文件,没有任何绕过选项。
所以这些二进制文件没有签名,因为签名代码需要付费证书。 Apple Developer Program 的费用为每年 99 美元,Windows 代码签名的价格取决于您选择的发行者,目前该社区存储库中不存在该发行者。
本项目众筹已启动以赞助颁发证书的费用。希望这个Patreon将很快达到其目标,我们将签署二进制文件。
编译 OpenLens 二进制文件
OpenLens 是通过 Electron 和 nodeJS 开发的,它是跨平台的。根据您运行的操作系统,编译 OpenLens 所需安装的工具会有所不同。
然而,鉴于自己构建二进制文件和代码签名的共谋,我投票支持上述社区项目。
您的组织策略可能不允许您运行自编译的二进制文件,因此您可能会收到与我在上面显示的类似的错误。否则,您可以直接从Lens 开源存储库编译 OpenLens。
我在此处提供的步骤源自他的社区项目](https://github.com/MuhammedKalkan/OpenLens/tree/main/.github/workflows)中的[M. Kalkan CI/CD 管道,它们在您的系统中可能有所不同,但您可以消化它的基础知识。
如果您运行的是 macOS 或 Linux,您的机器中可能已经内置了大部分基本命令。但是,您需要安装 nodeJS 和 yarn。
我不会详细介绍 Linux,因为每个发行版都会有所不同。但是,我会以 Ubuntu 发行版为例,这也很简单。
Linux 二进制文件 (Ubuntu)
安装git和curl:sudo apt install -y curl git
安装 NodeJS 仓库:curl -fsSL zwz100073 https://deb.nodesource.com/setup_16.x zwz100074 zwz100072 | sudo -E bash -
安装 NodeJS v16 LTS:apt install -y nodejs
安装最新版本的yarn:sudo npm install -g yarn Clone Open Lens repository:git clone zwz100076 https://github.com/lensapp/lens.git zwz100077 zwz100075 ``~/openlens
进入 Open Lens 源码目录:cd ~/openlens
选择您的具体版本:git checkout v6.0.1
构建你的二进制文件:make build
您现在可以在~/openlens/dist目录中找到您的 Linux 二进制文件。给定正确的主机环境,您最终会得到一个解压缩的二进制文件夹以及.rpm、.deb和.AppImage安装程序。

步骤可能会根据您的 Linux 环境而有所不同,但它应该可以很好地概述为 Linux 构建它所需的步骤。
macOS 二进制文件
首先,安装 X 代码。它将安装gcc和编译代码所需的其他必要和基本工具。
如果您使用的是 brew 包管理器,则可以按照以下步骤操作。否则,我强烈建议安装brew 包管理器然后按照以下步骤操作!
安装nodeJS和git和yarn:brew install node@16 git yarn
克隆 OpenLens:git clone zwz100085 https://github.com/lensapp/lens.git zwz100086 zwz100084 ~/openlens
进入OpenLens源代码文件夹:cd ~/openlens
将您的 git 头设置为您尝试为其构建二进制文件的特定镜头版本:git checkout v6.0.1
注意:您可以在镜头网站上查看最新的镜头版本:

构建 macOS Apple Silicon 和 Intel 二进制文件:env ELECTRON_BUILDER_EXTRA_ARGS="--arm64 --x64 --config.dmg.sign=false" make build
完成此步骤后,您可以在~/openlens/dist文件夹中找到您的 OpenLens 二进制文件:

打开其中一个 dmg 图像(基于您的系统 CPU),您可以安装并运行 OpenLens:

Microsoft Windows 二进制文件
我已经提到了 macOS 中的 brew 包管理器。对于 Windows,我想提一下巧克力包管理器。如果没有,请安装。
步骤与 macOS 类似。但是,您需要安装一些额外的软件包并从兼容 bash 的终端运行命令。
使用 Chocolatey 安装必要工具的第一步:如果您使用 Visual Studio IDE,则不需要此处提到的choco install nodejs-lts yarn python make git visualstudio2019buildtools visualstudio2019-workload-vctools Visual Studio 2019 工具。在这种情况下,您需要在 Visual Studio 中安装“使用 C++ 进行桌面开发”工作负载:
! swz 100103 swz 100104 swz 100102
运行 Chocolatey install 命令后,您可能需要关闭所有现有终端窗口并重新打开它们以应用环境PATH更新,或者您可以键入:refreshenv
接下来,您需要一个能够在 windows 环境中运行基本 bash 命令的 bash 兼容终端,我推荐Cygwin terminal:
! swz 100109 swz 100110 swz 100108
现在,让我们继续。打开 cygwin 终端并转到 Windows 中最好可访问的文件夹:cd /cygdrive/c/
从 Lens 克隆 OpenLens 存储库:git clone zwz100112 https://github.com/lensapp/lens.gi zwz100113 zwz100111 t openlens
转到 OpenLens 文件夹:cd openlens
将您的 git 头设置为您尝试为其构建二进制文件的特定镜头版本:git checkout v6.0.1
注意:您可以在Lens 网站上查看最新的 Lens 版本,如上文 macOS 二进制文件构建部分所述。
神奇的命令来了:make build
构建过程需要一些时间才能完成,完成后,打开 C:\openlens\dist\ 文件夹,OpenLens 安装程序将欢迎您:

完成安装向导并运行 OpenLens:
! zwz 100121 zwz 100122 zwz 100120
那么我应该使用社区版还是自己构建呢?
如图所示,您不必继续使用官方 Lens 云 ID 和软件包,您可以使用 OpenLens 代替。根据您的机器配置,您构建和运行二进制文件的步骤可能会有所不同,但至少本文为您提供了如何自己构建它的想法。
如果通过构建过程或代码签名对您来说是一个问题,我建议使用由这个 repo发起的倡议,并加入由 M. Kalkan 发起的Patreon 创建签名二进制文件。
免责声明:我不认识 M. Kalkan。我只是他开始构建 OpenLens 社区二进制版本的倡议的粉丝。我不隶属于本文中提到的任何项目、组织或个人。
更多推荐



所有评论(0)