爱意满满的作品展示区。
zjy365

[开源] 做了一个 28 MB 的 Kubernetes 桌面客户端 Aster,想听听交互和性能方面的意见

  •  
  •   zjy365 · 14h 31m ago · 321 views

    大家好,我最近把 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

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   983 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 22:16 · PVG 06:16 · LAX 15:16 · JFK 18:16
    ♥ Do have faith in what you're doing.