图形界面里的 Civo Kubernetes:和 Lens、OpenLens、k9s 比什么。
三个与集群无关的工具,一个只认 Civo 的。差别决定了你想开着哪一个。
Lens、OpenLens 和 k9s 并不是通常意义上的竞品。它们与集群无关:读你磁盘上的 kubeconfig 文件,管理任何厂商、任何 Kubernetes 集群里的工作负载。CivoCloudManager 完全是另一种形状。它只认 Civo,集群凭据直接来自 Civo API,而不是你得先下载下来的某个文件,而且它管的不只是集群内部的工作负载,还有集群周围那一圈 Civo 资源。这页讲的是这两种形状哪一种更贴合你眼下的活,也会直说哪些场景另外那几个工具才是更好的答案。
这四个工具今天的状态
k9s 是一个跑在终端里的单文件 Go 二进制,Apache 2.0,仍在活跃开发,v0.51.0 发布于 2026 年 6 月。Lens Desktop 是 Mirantis 的商业产品:激活需要 Lens ID 账号,个人使用在公司过去十二个月营收或融资低于 1000 万美元时保持免费,超过这条线,每个用户都需要一个付费的 Lens Pro 席位。源码不再公开,lensapp/lens 仓库如今只剩一个 README,最后一次发布停在 2024 年 1 月。OpenLens 是基于那份源码的社区构建,自 2023 年 6 月的 v6.5.2-366 之后再无发布,它的 Flathub 包已被归档为生命周期结束。仍在维护的开源继任者是 FreeLens,MIT 许可,无需登录,支持 macOS、Windows 和 Linux。如果你是来找 OpenLens 替代品的,FreeLens 就是一对一的那个答案。CivoCloudManager 是另一类工具,下面这张表是关于这个差别的老实版本。
看到第一个 pod 之前要付的配置成本
在 Civo 上手动那条路是固定的。打开 Civo 控制台或者跑 CLI,下载集群的 kubeconfig,合并进 ~/.kube/config,切换 context,再在集群防火墙上为当前 IP 打开 6443 端口,因为 Civo 的 Kubernetes API server 就在防火墙后面。这一串走完,Lens、FreeLens 或 k9s 才会给你看到东西。每来一个新集群就重复一遍,每次 IP 变了那条防火墙规则就又过期了。CivoCloudManager 的起点早一步,从 macOS Keychain 里的 Civo API key 开始。选中一个集群,应用为检测到的 IP 打开 6443,从 Civo API 取回 kubeconfig,在内存里构建客户端身份并连上。离开集群时,它打开的那条规则会被关掉。除非你主动要一份,磁盘上不会有 kubeconfig。
这条连接究竟是什么
应用从不启动外部进程。它用 Swift 解析 kubeconfig,用 SecItemImport 导入 PEM 证书和私钥,用 SecIdentityCreate 把两者配成一个身份,然后直接从 URLSession 建立客户端证书 mTLS。那份 kubeconfig 里的 CA 是这次会话唯一的信任锚,所以主机不对、CA 不相干或者叶子证书过期,握手会失败,而不是退回到更弱的方案。整个过程不涉及 kubectl 和 openssl,也没有任何凭据离开这台 Mac。有一处依赖值得点名:CPU 和内存仪表读的是 metrics.k8s.io API,所以集群里需要跑着 metrics-server,和 kubectl top、k9s 的资源列一样。没有它,应用会告诉你 metrics-server 不可用,视图的其余部分照常工作。
Lens、OpenLens 和 k9s 赢在哪里
赢在不只有 Civo 的地方。如果你手上的集群分布在两个厂商,或者本地一个 kind 集群旁边还有一个托管集群,以 kubeconfig 驱动的工具一个按键就切 context,而 CivoCloudManager 根本看不到另一个集群。Lens 有扩展 API 和一长串扩展;k9s 有插件、自定义热键、别名、皮肤、端口转发和基于 Hey 的压测,这些在这里都没有对应物。k9s 还赢下一个任何图形界面都碰不到的场景:凌晨三点跳板机上的一个 SSH 会话,那里没有桌面应用,只有终端。另外这两者都能给你运行中容器里真正的交互式 shell。CivoCloudManager 执行命令的方式是创建一个短生命周期的 Job 并返回它的输出,有用,但和挂进一个运行中的 pod 不是一回事。最后,它们能跑在 Linux 和 Windows 上。CivoCloudManager 需要 macOS 15 (Sequoia) 或更新版本。
两个一起用,因为导出只要一次点击
这不是二选一,应用本身也不是按二选一设计的。在集群上点 Save Kubeconfig,YAML 会写到你选的位置,从那一秒起,k9s、FreeLens 或 kubectl 对这个集群的用法和过去完全一样。常见的搭配是:Civo 那一侧交给 CivoCloudManager,创建和删除集群、防火墙、DNS、Object Store 和花费视图,外加随手看看日志;集群内部的深度交互交给 k9s。唯一要记住的是,应用替你打开的那条 6443 规则会在你离开集群时关掉,所以在应用之外开的终端会话,可能需要自己那条防火墙规则。
该选哪一个
如果你碰的每一个集群都在 Civo 上,而且你在 Mac 上工作,CivoCloudManager 拿掉的是这件事里最烦的那一段,也就是集群视图加载之前发生的一切,同时它还覆盖了 Kubernetes 工具看不见的那些 Civo 资源。如果你跨厂商工作、把流程写成脚本,或者常年活在终端里,那么 k9s 或 FreeLens 仍然是你的主力,这个应用是旁边那块 Civo 控制台。如果你还在用 OpenLens,不管你对 Civo 怎么决定,先换到 FreeLens。
一个 Civo 用户在配置上真正付出的东西
比的是范围,不是质量。这四列里有三个是与集群无关、只是碰巧指向 Civo 的工具,另一个只认识 Civo。下面每一格说的都是内置行为,不含扩展和 shell 脚本。
| 任务 | CivoCloudManager | Lens / OpenLens | k9s | kubectl |
|---|---|---|---|---|
| 需要先有一份磁盘上的 kubeconfig | 不需要,它从 Civo API 取一份 | 需要 | 需要 | 需要 |
| 创建、调整或删除 Civo 集群 | 支持,通过 Civo API v2 | 不支持 | 不支持 | 不支持 |
| 为你的 IP 打开 6443 端口 | 选中集群时自动打开,离开时关闭 | 手动,在 Civo 控制台或 CLI 里 | 手动 | 手动 |
| 实时 pod 日志 | 支持,带自动滚动开关 | 支持 | 支持 | kubectl logs -f |
| 在运行中的容器里开交互式 shell | 不支持,它以短生命周期 Job 执行命令 | 支持 | 支持,按 s | kubectl exec -it |
| 扩缩 deployment,重启 rollout | 支持 | 支持 | 支持 | 支持 |
| CPU 和内存仪表 | 支持,需要 metrics-server | 支持,通过 metrics-server 或 Prometheus | 支持,需要 metrics-server | kubectl top,需要 metrics-server |
| Civo 防火墙、实例、DNS 和 Object Store | 支持,都在同一个窗口里 | 不支持 | 不支持 | 不支持 |
| 通过 S3 浏览 Civo Object Storage | 支持,内置浏览器,Signature V4 | 不支持 | 不支持 | 不支持 |
| 带月末预测的 Civo 花费 | 支持,来自 Civo charges API | 不支持 | 不支持 | 不支持 |
| 运行时体积 | 原生 Swift 应用,不捆绑运行时 | Electron 桌面应用 | 终端里的一个 Go 二进制 | 一个 Go 二进制 |
| 能跑在 Linux 和 Windows 上 | 不能,需要 macOS 15 (Sequoia) 或更新版本 | 能 | 能 | 能 |
| 可在 CI/CD 里脚本化 | 不行,它是交互式应用 | 不行 | 不行 | 可以,专为此设计 |
| 许可与账号 | Mac App Store 一次性购买,无需账号 | Lens 需要 Lens ID;OpenLens 已生命周期结束 | 开源,Apache 2.0 | 开源,Apache 2.0 |
大家真正会问的问题
- CivoCloudManager 能取代 Lens 或 k9s 吗?
- 在 Mac 上、只做 Civo 的工作流里,可以。它能列出 node、pod、deployment、daemon set、stateful set、cron job、service、ingress、volume、namespace 和事件,用带自动滚动开关的查看器流式看 pod 日志,扩缩 deployment 并触发 rollout 重启,全程磁盘上不需要 kubeconfig。Civo 以外的集群它取代不了,运行中容器里的交互式 shell 它也给不了。多数人正是为了这两件事继续装着 k9s 或 FreeLens。
- 它能管不是通过 Civo 创建的 Kubernetes 集群吗?
- 不能。CivoCloudManager 用你的 Civo API key 从 Civo API 获取集群凭据,所以它只看得见那个 Civo 账户里的集群。别的厂商上的集群,或者本地的 kind、k3s 集群,按设计不在范围内。那是 Lens、FreeLens 和 k9s 的活,它们读的是
~/.kube/config里的任何东西。 - 还需要 kubectl 吗?
- Civo 集群的日常查看不需要:日志、事件、工作负载列表、扩缩容和 rollout 重启都在应用里,它通过 mTLS 直接和 Kubernetes API 说话。应用 manifest 和 CRD 仍然要用 kubectl,任何跑在 CI/CD 里的东西也一样,因为 CivoCloudManager 是一个交互式 Mac 应用,不是自动化的目标。需要的时候,Save Kubeconfig 一次点击就导出 YAML。
- CivoCloudManager 能跑在 Linux 或 Windows 上吗?
- 不能。它是原生 macOS 应用,只通过 Mac App Store 分发,需要 macOS 15 (Sequoia) 或更新版本,Apple silicon 或 Intel 都可以。k9s、FreeLens 和 kubectl 都能跑在 Linux 和 Windows 上,如果你的团队不是清一色 Mac,这是留着其中一个的主要理由。
- 2026 年了,OpenLens 还值得选吗?
- OpenLens 自 2023 年 6 月的 v6.5.2-366 之后再无发布,它所基于的 Lens 源码也不再公开,Flathub 包已被归档为生命周期结束。FreeLens 是仍在维护的 MIT 许可分支,想要开源版 Lens 体验的话,换过去是明智的。如果你的集群全在 Civo、人又在 Mac 上,CivoCloudManager 覆盖同样的查看工作,外加集群周围那一圈 Civo 资源。
指南
一步一步,以及诚实的对比。
- 01 连接 Civo API Key 在 Civo 控制台生成密钥,粘贴一次,之后交给 macOS Keychain 保管。
- 02 为你的 IP 开防火墙 手动流程、它留下的动态 IP 隐患,以及一条免费的菜单栏路径:到点自动关掉规则。
- 03 通过 S3 使用 Civo Object Storage 区域 endpoint,s3cmd、rclone 和 AWS CLI 的可用配置,以及原生客户端有什么不一样。
- 04 Mac 上的 Civo DNS 把域名指向 Civo 的 nameserver,之后把这个 zone 放在原生应用里管,而不是一个浏览器标签页。
- 05 更新日志 每一个已发布的版本,最新的在前,附带商店更新说明装不下的细节。
深入了解
按 Civo 产品拆开细说。
CivoCloudManager 覆盖的每个 Civo 领域都有单独一页,讲清细节、取舍和架构。挑一个离你日常最近的。
不同的工具,不同的活。
菜单栏防火墙控制永久免费,完整功能从首次启动起有七天,之后完整仪表盘在 Mac App Store 一次性买断。