跳到主要内容
← 返回 Barney Kube

实验室笔记 / Barney Kube

小更新。
大反转。

新招式,少故障,偶尔还有“以前没有它是怎么活过来的?”的时刻。来看看 Barney Kube 最近的动态。

14 个版本76 项改进与修复一直在折腾,从未停下
CORTEX LABS
实验手记

最新一章

v0.3.02026年10月2日
Barney Kube
每个版本,都好一点点。

穿上西装!

8 个让人兴奋的亮点

  • 穿上西装——全新的首页。Barney 会跟你打招呼,在集群陆续响应时逐一点名(谁到场了,谁放了你鸽子),并给最快的那个盖上 Legendary(传奇)印章。
  • 集群会回嘴——把鼠标悬停在卡片上,它就会用自己的口吻说上两句。在生产环境上,玩笑会变成警告;没有响应的集群则会准确告诉你原因。
  • The Playbook 宝典——每次打开都有一招新的:一条简短的小技巧,介绍 Barney Kube 早就能做、而你可能还不知道的事。
  • 还没有集群?首页会直接给出 EKS、GKE、AKS、DigitalOcean、kind 或 minikube 的一行命令——点击即可复制。
  • 全新的首次运行导览——你认识自己的集群(实时 ping)、并当场启用 AI CLI 的同时,Barney 在一旁换上西装。
  • About 页面现在是 Barney 的名片。翻到背面,还有小字条款。
  • What’s New 现在是一张裁缝单——随时可以从 About 重新打开,以往的每个版本都只需点一下。
  • 以上所有内容都支持葡萄牙语和西班牙语,所有新动画都遵循“减弱动态效果”设置。

顺着关系图走

8 个让人兴奋的亮点

  • 顺着关系图走——每个对象现在都有 Related 标签页:Deployment 实际运行的 pod、pod 所在的节点、它前面的 Service、它挂载的 ConfigMap 和 Secret、Ingress 的后端。点击其中任意一项即可直接跳转。
  • 一屏看清哪里坏了——新的 Issues 视图会列出所有命名空间中每个不健康的 pod 和 NotReady 节点,附带原因和运行位置。点击即可跳转。
  • 整个工作负载的日志——Deployment、StatefulSet、DaemonSet、Job 或 Service 会把其所有 pod 的日志汇入同一个视图,每个 pod 一种颜色、一个名字。
  • 看清它是怎么挂的——重启过的容器的上一份日志只需一键即可查看,并标注了导致它退出的退出码和原因。
  • pod 列表中的重启次数——可排序的列,为零时显示为暗色,一旦真成了问题就变成橙色。
  • 详情面板不再碍事——选中对象时打开,不需要时关闭,同时也会停止它占用的日志流或 exec 会话。
  • 日志查看器支持时间戳和保存——按需显示服务器端时间戳,并可将屏幕上的内容直接写入文件。
  • 全面翻译——每个界面现在都支持葡萄牙语和西班牙语,包括上述所有内容。

现在会说更多语言了

4 个让人兴奋的亮点

  • 除英语外新增葡萄牙语和西班牙语——随时可在 About 中切换,无需重新启动。
  • 重新设计的集群选择器——扁平的玻璃质感卡片,悬停效果细腻,不再有倾斜带来的渲染瑕疵。
  • 像样的 About 页面——版本、语言,以及 Replay Onboarding 按钮,都在应用里。
  • 为本地 AI 打好基础——Barney Kube 现在能检测你 Mac 上本地安装的 Claude、Codex 或 opencode CLI,为下一步做好准备。它只会提出建议;任何操作触及你的集群之前,都需要你确认。

全局搜索,Secret 更安全

10 个让人兴奋的亮点

  • ⌘K 搜索一切——所有类型、所有命名空间,一次搞定。没有打开集群?它会调出选择器并聚焦到筛选框,而不是毫无反应。
  • Secret 保持遮盖——在所有显示的地方(概览、复制、编辑)默认隐藏值,每个对象都有一个由你控制的显式 Reveal 按钮。
  • 置顶常用集群——它们会浮到选择器顶部,免得你每次都要翻找同样的那三个集群。
  • 一眼看出哪里出了问题——一旦有东西变得不健康,侧边栏中的 Pods 和 Nodes 会立即显示实时徽标,即使你正在看别的东西。
  • 回滚 Deployment——查看其修订历史,并可直接从行菜单或详情标题栏跳回之前的任意一次发布。
  • 四种新类型——PersistentVolume、StorageClass、NetworkPolicy 和 HorizontalPodAutoscaler 现在和其他资源一样,可以浏览并实时监听。
  • 应用前先 diff——YAML 编辑器可以在你提交前准确显示与原始版本相比改了什么。
  • 复制干净、可直接 apply 的 manifest——去掉了 status 和服务器端的簿记字段,可直接在别处 `kubectl apply -f`。
  • 以合适的尺寸打开——不再以局促的最小窗口和空空的详情面板启动。
  • 跨日志行选择——点击并拖动现在可以像真正的终端一样跨越多行,而不是一次只能选一行。

Cordon、drain,操作随处可用

4 个让人兴奋的亮点

  • Cordon 和 uncordon 节点——直接在节点的操作中阻止新 pod 调度到该节点上(或重新允许)。被 cordon 的节点会带有徽标,一眼就能看出来。
  • Drain 节点——一步完成 cordon 并驱逐其上的 pod,附带实时进度面板。DaemonSet 和静态/镜像 pod 保持不动,被 PodDisruptionBudget 阻止的驱逐会不断重试,直到被允许。和 kubectl drain 完全一致。
  • 所有操作,随处可用——将鼠标悬停在任意一行上即可看到完整的操作菜单,与详情标题栏一一对应:转发、扩缩容、编辑、重启、cordon、drain、删除。不用再到处找某个命令藏在哪儿。
  • 真正删除 pod——pod 现在除了 Restart 之外还有一个明确的 Delete。确认对话框会告诉你它会被控制器重新创建,还是一个删了就彻底没了的独立 pod。

现在能自动更新了

2 个让人兴奋的亮点

  • 自动更新——Barney Kube 现在会自动检查新版本并提示安装,安装前会校验下载文件的 Developer ID 签名。由 Sparkle 驱动。
  • 也可随时手动检查——Barney Kube 菜单中有 Check for Updates… 选项。这是你最后一个需要手动下载的版本。

更快、更安全、更锋利

6 个让人兴奋的亮点

  • 一眼认出环境——集群现在会根据名称带上彩色徽标(红色的 PROD、staging、homolog、QA、dev……),在选择器和标签页上都会显示。长名称会从中间截断,让 -prd / -hml 后缀始终可见,悬停即可查看全名。
  • 可排序的列——点击任意列标题(名称、状态、CPU、内存、存在时长)即可排序,再点一次反向。事件默认按最新优先排序,其他一律 A→Z。
  • 打开另一个集群,不丢已打开的——选择器现在是增量式的,附带返回工作区按钮。不用再为了多开一个集群而关掉所有标签页、断掉所有端口转发。
  • 大集群上更流畅——选中大型对象不再卡住界面(JSON 高亮在后台线程完成,再次选中即时响应),调整详情面板大小很顺滑,watch 更新会就地插入而不是重新排序整个列表,选择器也会错峰 ping 集群,而不是一次全部发出。
  • 长时间会话也能持续工作——当 exec 插件令牌(EKS/GKE/AKS)在会话中途过期时,请求、watch 和日志流现在会刷新令牌并重试,而不是卡在 401 上。
  • 强化的 TLS——保护每个连接的集群 CA 固定和主机名校验,现在都有针对真实证书(有效证书、主机名错误的证书和伪造 CA 签发的证书)的测试覆盖,临时的客户端证书钥匙串也会在退出时清除。

认识一下 Barney Kube

3 个让人兴奋的亮点

  • 新名字——Barney 现在叫 Barney Kube,一眼就能看出它跟什么打交道。同一个应用,kubeconfig 也照旧,无需任何重新配置。
  • 从已安装的应用连接集群——macOS 的 App Transport Security 会在 Barney Kube 自己的校验运行之前就拒绝私有集群 CA,因此从 .dmg 构建启动时,每个集群都显示为离线。现在它会像 kubectl 一样自行固定集群 CA。
  • 证书认证可用了——使用客户端证书认证的 kubeconfig(k3s、OrbStack、kind、本地部署……)此前会悄悄退回匿名访问并得到 401。现在各种 PEM 格式的 ECDSA 和 RSA 密钥都能构建真正的 mTLS 身份。

Service 能转发,文件满天飞

4 个让人兴奋的亮点

  • 转发 Service 端口——Service 上的转发弹窗会列出每个端口,并将其解析到一个就绪的后端 pod,targetPort 可以是数字或名称,与 kubectl port-forward svc/… 完全一致。
  • pod 上的文件——直接从详情标题栏下载容器中的任意文件,或向其上传文件。不用终端的 kubectl cp,二进制安全,端到端校验。
  • Attach 模式——Exec 标签页新增 Shell | Attach:接入容器的主进程,查看其实时 stdout,不会新开 shell。
  • 坚如磐石的 exec 管道——上传不再撞上 WebSocket 分片的限制,含任意特殊字符的 shell 命令也能顺利通过 apiserver 的查询解析,不稳定的连接会重试并进行端到端的大小校验。

真正的终端与 kubectl edit

2 个让人兴奋的亮点

  • Exec 标签页中的真正终端——基于 exec WebSocket 的完整 TTY:颜色、光标类应用(vi、top、htop)、Tab 补全、窗口缩放。由 SwiftTerm 驱动。
  • 编辑 YAML 并应用——点击任意对象上的铅笔图标,内联编辑 manifest(隐藏 managedFields,键顺序与 kubectl 一致),Apply 会通过 PUT 写回。冲突(409)会以提示消息显示。

硬核功能来了

4 个让人兴奋的亮点

  • 实时 CPU 与内存——pod 和节点直接从 metrics.k8s.io 获取用量列,每 15s 刷新一次;节点会显示相对于其容量的负载条。
  • 端口转发——从详情标题栏把任意 pod 端口隧道到 localhost,标签会显示活动中的隧道,一键打开浏览器。kubectl port-forward,零终端。
  • Exec——在新的 Exec 标签页中于容器内运行命令:一个轻量控制台,带容器选择器和完整记录。
  • 自定义资源——集群上的每个 CRD 都会出现在侧边栏中(cert-manager、ArgoCD、你自己的 operator……),像任何内置类型一样列出并实时监听。

上手操作集群

4 个让人兴奋的亮点

  • 重启 pod——在详情标题栏或右键菜单中操作;pod 被删除后,其控制器会拉起一个新的。整个过程实时可见。
  • 扩缩 deployment、statefulset 和 replicaset——详情面板中的步进器会 patch /scale 子资源;发布过程会实时流入列表。
  • 删除对象——需要明确确认,而且绝不删除节点或命名空间。刻意保守。
  • 每个操作都有提示消息确认——当某个操作被拒绝时(RBAC、保护策略……),还会显示服务器返回的真实错误信息。

像样的大门

12 个让人兴奋的亮点

  • 15 种资源类型——StatefulSet、DaemonSet、Job、CronJob、Volume Claim 和 Event 加入侧边栏,各自都有实时状态。
  • 事件无处不在——每个对象上的 Events 标签页会显示 Kubernetes 在抱怨什么(探针失败、镜像拉取、调度),全集群的 Events 动态按最新优先排序。
  • 实时 pod 日志——详情面板中的 Logs 标签页会实时流式输出:容器选择器、跟随并自动滚动、筛选和复制。不用 WebSocket,毫无负担。
  • 默认显示所有命名空间——工作区现在会列出整个集群的资源,并提供命名空间菜单用于缩小范围。不会再因为所有东西都不在 `default` 里而看到空空的 Pods 列表。
  • 状态一目了然——pod 显示 Running 2/2、CrashLoopBackOff、Pending……并用颜色区分;deployment 显示就绪数量,节点显示 Ready,service 显示其类型。
  • 精致的工作区——分组侧边栏(Workloads / Network / Config / Cluster)、列标题、筛选框,以及带身份标题和复制 JSON 功能的详情面板。
  • DigitalOcean 集群现在可以连接了——Kubernetes CA 签发的证书有效期长达数十年,会被 Apple 的 TLS 策略拒绝;Barney 会像 kubectl 一样,用集群自己的 CA 来校验它们。
  • 引导——快速介绍 Barney 是什么,以及它在你的 kubeconfig 中找到的集群,仅在首次启动时显示。
  • 重新设计的集群选择器——服务商徽标(EKS、GKE、AKS、minikube、kind……)、认证方式一目了然,列表变长时还可以搜索。
  • 实时集群状态——每张卡片都会 ping 其 apiserver,显示可达性、Kubernetes 版本和往返延迟。
  • 上次打开时间——卡片会记住你上次连接的时间。
  • 就是这个 What's New 界面——每次更新后展示版本亮点,与 Cortex 家族的其他成员一样。

你好,Barney

5 个让人兴奋的亮点

  • macOS 原生 Kubernetes 客户端——只占几十 MB 内存,而不是一个 G 的 Electron。
  • 从第一天起就支持多集群——以标签页形式打开集群,每个都有独立的实时状态。
  • 零配置认证——读取 ~/.kube/config,认证方式与 kubectl 完全一致:证书、令牌和 exec 插件(EKS / GKE / AKS),并缓存令牌。
  • 实时推送,而非轮询——先 list 一次,之后由 watch 流保持每个表格实时更新。
  • 9 种资源类型,并提供带语法高亮的 JSON 详情视图。

你已经翻到故事的开头了。

精彩的部分,我们还在写。回到最新版本 ↑