大家好,我最近把 Aster 做到了 1.0.2 ,第一次正式拿出来和大家分享。
做 Aster 的原因很直接。管理多个集群时,我需要频繁查看资源、日志和事件,偶尔还要更新镜像或调整副本数。现在的工具有的太重,有的需要付费,还有一些在大集群里不够流畅。我自己更喜欢 IDE 一样的桌面工作方式,而不是再打开一个 Web 管理页面。
Aster 是一个开源的 Kubernetes 桌面客户端,安装包大约 28 MB 。它用 Tauri 2 + Rust 做桌面壳,React 负责界面,本地 Go sidecar 直接连接 Kubernetes API 。它读取现有 kubeconfig ,不需要账号,没有遥测,也没有后端服务。
目前已经能完成这些日常工作:
- 用 Cmd/Ctrl+K 切集群、切 namespace 、跳到资源类型,或者按名字搜索整个集群;
- 浏览 Workload 、Service 、存储、配置、RBAC 、CRD 等资源,查看 YAML 、Events 和关联资源;
- 实时读取单 Pod 日志,也可以把一个 Deployment 等工作负载下的多 Pod 日志按时间合并;
- 浏览 Helm Release ,查看详情、回滚和卸载;
- scale 、换镜像、重启、创建资源和编辑 YAML 。每次写操作都会先走服务端 dry-run ,再展示语义化 diff ,检查 ResourceVersion 冲突,最后由人确认 Apply 。
有几个边界是刻意留下的。Aster 不修改 Secret ,不提供进入 Pod 的交互式 shell ,也不会为了方便创建 ServiceAccount 或 ClusterRole 。渲染进程拿不到 kubeconfig 、API 凭据、Secret 值和 sidecar token 。
目前我最满意的是两点。一个是变更前会先展示 diff ,具体改了什么很清楚,确认后才会 Apply 。另一个是 Cmd/Ctrl+K 命令面板,切集群、切 namespace 、找资源和执行常用动作都可以从一个入口完成。
1.0.2 新增了 Pod 实时 CPU 、内存用量和趋势图,也补好了找不到 kubeconfig 时的设置引导。目前提供 macOS 、Windows 和 Linux 安装包。
项目地址: https://github.com/zjy365/aster
产品主页和演示视频: https://zjy365.github.io/aster
Release: https://github.com/zjy365/aster/releases/tag/v1.0.2