【免费下载链接】sofka
A Kubernetes TUI, reimagined in Rust - built on kube-rs and ratatui, async-first from the ground up.
sofka 是一款用 Rust 编写的 Kubernetes TUI(终端用户界面)集群运维工具,基于 kube-rs 与 ratatui,全程异步、界面永不阻塞。本教程带你 5 分钟内掌握 10 个按键组合,完成 Kubernetes 集群日常运维最核心的操作:浏览资源、过滤故障、看日志、诊断根因、批量变更——从此少敲kubectl子命令。
一、sofka 是什么?为什么值得装
sofka 的设计灵感来自 k9s,但用 Rust 重构了内核,带来几个实用差异(详见 docs/features.md 与 docs/vs-k9s.md):
- 🔍会说"为什么坏了":按
X打开基于证据的诊断视图,定位异常原因,不依赖任何外部 AI 服务 - ⚡内置 Flux CD 与 Argo CD 支持:
t键即可暂停/恢复/触发 reconcile,无需安装flux、argocd二进制 - 🛡️只读模式与 guardrails:"生产环境禁止删除"是被强制执行的规则,而不是靠记忆
- 🎨12 套皮肤:Catppuccin、Gruvbox、Nord、Tokyo Night 等,自动识别深浅色
二、sofka 一键安装步骤(最快配置方法)
# 方式一:Cargo 直接安装 cargo install sofka # 方式二:从源码构建 git clone https://gitcode.com/gh_mirrors/so/sofka cd sofka && cargo build --releaseLinux 用户还可以配置官方 apt/dnf 软件源,系统升级时自动保持最新版,完整方法见 docs/release-packages.md;Nix 用户可用 Home Manager 模块 一键管理安装与配置。
启动方式(前提:kubectl的 kubeconfig 已配置好):
sofka # 打开默认的 pods 视图 sofka deploy -n social # 直接打开指定命名空间的 deployments sofka --readonly # 整场会话禁止一切写操作 sofka ctx # 先选择集群上下文再连接配置可选:在~/.config/sofka/config.toml中设置默认命名空间、别名、皮肤,:reload可热加载。全部选项见 docs/configuration.md。
三、10 个必按键位:K8s 日常运维核心操作
以下键位覆盖 90% 的日常运维场景,完整键表参考 docs/keys.md。
1️⃣:命令面板 — 一键跳转任意资源
按:弹出模糊搜索面板,输入资源类型、命令、书签均可命中。:deploy social一条命令同时切换资源类型和命名空间,替代kubectl get deploy -n social。
2️⃣enter/esc— 钻取与回退
enter逐层钻取(workload → pods → containers,CRD → 其自定义资源),esc返回上一层。浏览集群就像浏览目录树。
3️⃣j/k移动,g/G首尾跳转
vim 风格导航:j/k(或方向键)逐行移动,g跳到列表顶端,G跳到底部,ctrl-f/ctrl-b整页翻页。
4️⃣/过滤器 — 秒级定位故障
支持文本、a|b多值、/regex/正则、!反选,还有结构化条件,例如:
/ status=CrashLoopBackOff— 只看崩溃循环的 Pod/ cpu>500m— 只找 CPU 超 500m 的资源Ctrl+Z一键切换"只看故障行"
完整过滤语法见 docs/filtering.md。
5️⃣l日志 — 跟随当前行或已标记的 Pod
选中 Pod 按l直接流式查看日志,p看上一个容器的日志,/在日志内再次过滤,esc退出。替代kubectl logs -f的反复输入。
6️⃣X诊断 — 它会告诉你为什么坏了
选中不健康的对象按X,sofka 基于事件、状态、配置做确定性分析,给出可钻取(带→标记)的结论,能直接跳到问题 Pod 的事件与日志。这是 sofka 区别于 k9s 的招牌功能,详见 docs/debugging.md。
7️⃣y/e/s— 查看、编辑、进入
y:查看资源 YAMLe:用$EDITOR编辑(等同kubectl edit)s:进入 Pod shell,或对支持 scale 子资源的对象直接扩缩容
8️⃣space+ctrl-d— 批量操作多行资源
space标记当前行(shift+↑/↓可连续划选),标记后可对多行统一执行ctrl-d删除、ctrl-k强删、Flux 操作等批量动作。谨慎:批量删除前确认命名空间。
9️⃣n/0/:ctx— 命名空间与集群切换
n:命名空间切换器(1~9直接选中收藏夹)0:所有命名空间:ctx:集群上下文(context)切换,space还可管理 fleet 多集群成员
🔟r滚动重启,f后台端口转发
r:对 Deployment/StatefulSet 等触发 rollout restart(带标记行则批量重启)f:从 manifest 自动读取声明端口,选择后在后台运行 port-forward,TUI 不会卡住,:pf统一管理所有转发
四、生产环境安全:只读模式与 guardrails
sofka 把安全做成配置而非习惯(详见 docs/safety.md):
- 启动加
--readonly,或按集群/上下文在配置中设readonly = true,标题栏会显示[read-only],所有变更操作被拦截 - guardrails 规则可限定"某命名空间禁止 delete/scale"
:can-i随时检查当前身份能做哪些操作;:journal回看本次会话做过的所有变更
五、下一步:深入探索
| 想做的事 | 去哪里看 |
|---|---|
| 查全部键位 | docs/keys.md |
| 自定义键位 | docs/keybindings.md |
| 配置皮肤、别名、每集群覆盖 | docs/configuration.md |
| 自定义列、阈值着色 | docs/views.md |
| 插件与书签 | docs/plugins.md |
| 完整功能清单 | docs/features.md |
装好 sofka、打开集群、按 10 次j——5 分钟后你就会理解为什么终端里看 Kubernetes 比网页控制台快得多。
【免费下载链接】sofka
A Kubernetes TUI, reimagined in Rust - built on kube-rs and ratatui, async-first from the ground up.
相关推荐
如何快速上手KubePi:5分钟完成Kubernetes集群部署
如何快速上手KubePi:5分钟完成Kubernetes集群部署 KubePi 是一个现代化的 Kubernetes 管理面板,能够帮助开发者和运维人员轻松管理
后端前端云原生运维集群管理QtScrcpy虚拟按键完整教程:10分钟学会在电脑上玩转手游
QtScrcpy虚拟按键完整教程:10分钟学会在电脑上玩转手游 QtScrcpy作为一款强大的安卓设备投屏软件,其 QtScrcpy虚拟按键 功能让用户能够在电
桌面应用音视频5分钟快速上手Cluster API:从零开始创建你的第一个Kubernetes集群
5分钟快速上手Cluster API:从零开始创建你的第一个Kubernetes集群 想要快速部署和管理Kubernetes集群吗?Cluster API(集群
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考