40 个版本

0.6.0 2024 年 1 月 25 日
0.4.9 2024 年 1 月 22 日
0.4.4 2023 年 10 月 2 日
0.4.0 2023 年 7 月 4 日
0.2.2 2021 年 7 月 20 日

#138开发工具

Download history 4/week @ 2024-04-29 5/week @ 2024-05-20 9/week @ 2024-06-03 4/week @ 2024-06-10 9/week @ 2024-06-17 4/week @ 2024-06-24 6/week @ 2024-07-01 2/week @ 2024-07-08 1/week @ 2024-07-15 115/week @ 2024-07-29

118 每月下载量

MIT 许可证

2MB
11K SLoC

KDash - 为 Kubernetes 设计的快速简单仪表板

ci cd License LOC crates.io link Docker Release Release Coverage GitHub Downloads Docker pulls Crate.io downloads

Follow Deepu K Sasidharan (deepu105)

logo

使用 Rust 构建的简单终端仪表板,用于 Kubernetes Follow @kdashrs

UI

赞助商

感谢赞助 @deepu105 的赞助商,他们使维护像 KDash 这样的项目变得可持续。如果您喜欢这项工作,请考虑 赞助

青铜

黄金和银级赞助商正在开放 赞助商

安装

Homebrew (Mac & Linux)

brew tap kdash-rs/kdash
brew install kdash

# If you need to be more specific, use:
brew install kdash-rs/kdash/kdash

升级

brew upgrade kdash
scoop bucket add kdash-bucket https://github.com/kdash-rs/scoop-kdash

scoop install kdash

Chocolatey (Windows)

Chocolatey 软件包位于 此处。由于软件包验证需要很长时间,发布后可能需要很长时间才能提供。我建议您使用 Scoop 代替 Windows。

choco install kdash

# Version number may be required for newer releases, if available:
choco install kdash --version=0.4.3

升级

choco upgrade kdash --version=0.4.3

Cargo

如果您已安装 Cargo,则可以从 crates.io 安装 KDash

cargo install kdash

# if you face issues with k8s-openapi crate try the below
cargo install --locked kdash

您还可以克隆仓库并运行 cargo runmake 来构建和运行应用程序

Nix

通过 nix run nixpkgs#kdash 尝试 kdash 或将 kdash 添加到您的 configuration.nix 中进行永久安装。

安装脚本

运行以下命令以安装最新二进制文件。如果您没有对 /usr/local/bin 的写入权限,请使用 sudo 运行。否则,脚本将安装到当前目录

curl https://raw.githubusercontent.com/kdash-rs/kdash/main/deployment/getLatest.sh | bash

手动

macOS (x86_64, arm64)、Linux GNU/MUSL(x86_64, armv6, armv7, aarch64) 和 Windows (x86_64, aarch64) 的二进制文件可在 发行版页面 上找到

  1. 下载适用于您的操作系统的最新 二进制文件
  2. 对于 Linux/macOS
    1. 进入您刚刚下载的文件所在的目录,并运行以下命令:tar -C /usr/local/bin -xzf downloaded-file-name。如需,请使用sudo。
    2. 使用kdash运行
  3. 对于Windows
    1. 使用7-Zip或TarTool解压tar文件。
    2. 运行可执行文件kdash.exe

Docker

通过挂载您的KUBECONFIG,以Docker容器运行KDash。例如,以下命令用于默认路径

docker run --rm -it -v ~/.kube/config:/root/.kube/config deepu105/kdash
# If you want localhost access from the container
docker run --network host --rm -it -v ~/.kube/config:/root/.kube/config deepu105/kdash

您还可以克隆此仓库,并运行以下命令以在本地构建docker镜像并运行:make docker

故障排除

注意:如果您使用Minikube或Kind在本地运行Kubernetes,这可能会无法正常工作。

注意:在Debian/Ubuntu上,您可能需要安装libxcb-xfixes0-devlibxcb-shape0-dev。在Fedora上,需要libxcblibxcb-devel

注意:在Linux上,您可能需要安装软件包xorg-dev(Debian/Ubuntu)或xorg-x11-server-devel(Fedora),以便复制到剪贴板功能能够正常工作。

注意:如果您从OpenSSL收到编译错误,请确保已为您的操作系统安装了perl和perl-core。

用法

kdash

在运行应用程序时按?以查看快捷键

标志

  • -h, --help:打印帮助信息
  • -V, --version:打印版本信息
  • -t, --tick-rate <tick-rate>:设置滴答速率(毫秒):数值越小,FPS越高。
  • -p, --poll-rate <poll-rate>:设置网络调用轮询速率(毫秒,应为tick-rate的倍数):数值越小,网络调用越频繁。

限制/已知问题

  • Linux/Docker 复制到剪贴板功能依赖于操作系统/架构,可能在某些Linux发行版中崩溃,且不支持在aarch64arm机器上运行。
  • [macOS] 由于macOS的默认终端应用程序使颜色渲染异常,KDash在iTerm2上看起来更好。
  • [Windows] 由于PowerShell的默认主题使颜色看起来异常,KDash在CMD中看起来更好。
  • [Windows] 如果使用 k3d 进行本地集群,请将服务器 URL 设置为 127.0.0.1,因为 0.0.0.0 与 kube-rs 不兼容。您可以使用以下命令创建 k3d 集群:k3d cluster create --api-port 127.0.0.1:6550 或更改 k3d 集群的 cluster.server 值,将其设置为 127.0.0.1:<port>

功能

  • CLI 信息
  • 节点指标
  • 资源监控(可通过 --p 标志配置轮询间隔)
  • 自定义资源定义
  • 描述资源并复制输出
  • 获取资源的 YAML 并复制输出
  • 流式容器日志
  • 上下文
    • 上下文信息
    • 上下文监控
    • 更改命名空间
    • 上下文切换
  • 基于指标服务器的节点、Pod 和命名空间资源利用率。需要将 metrics-server 部署到集群中。
  • 暗/亮主题
  • 合理的键盘快捷键
  • 全局资源名称全局匹配过滤

屏幕截图

概览屏幕

UI

容器日志屏幕(浅色主题)

UI

Pod 描述屏幕(浅色主题)

UI

上下文屏幕

UI

利用率屏幕

UI

使用的库

这与 K9S 有何不同?

K9S 与此相比功能更强大,因为它提供了包括 CRUD 操作在内的更多功能。

KDash 仅提供资源视图,重点关注速度和用户体验。实际上,如果某个功能速度慢或用户体验差,请提出错误报告。因此,UI/UX 被设计得更加用户友好,易于导航,并在每个上下文中提供上下文帮助和标签系统,以便轻松切换不同资源。

至少到目前为止,没有计划添加资源的完整 CRUD,但将来可能会。

许可证

MIT

创建者

贡献者

依赖项

~92MB
~1.5M SLoC