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 在 开发工具 中
118 每月下载量
2MB
11K SLoC
KDash - 为 Kubernetes 设计的快速简单仪表板
使用 Rust 构建的简单终端仪表板,用于 Kubernetes
赞助商
感谢赞助 @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 (Windows - 推荐方式)
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 run
或 make
来构建和运行应用程序
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) 的二进制文件可在 发行版页面 上找到
- 下载适用于您的操作系统的最新 二进制文件。
- 对于 Linux/macOS
- 进入您刚刚下载的文件所在的目录,并运行以下命令:
tar -C /usr/local/bin -xzf downloaded-file-name
。如需,请使用sudo。 - 使用
kdash
运行
- 进入您刚刚下载的文件所在的目录,并运行以下命令:
- 对于Windows
- 使用7-Zip或TarTool解压tar文件。
- 运行可执行文件
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-dev
和libxcb-shape0-dev
。在Fedora上,需要libxcb
和libxcb-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发行版中崩溃,且不支持在
aarch64
和arm
机器上运行。 - [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 部署到集群中。
- 暗/亮主题
- 合理的键盘快捷键
- 全局资源名称全局匹配过滤
屏幕截图
概览屏幕
容器日志屏幕(浅色主题)
Pod 描述屏幕(浅色主题)
上下文屏幕
利用率屏幕
使用的库
这与 K9S 有何不同?
K9S 与此相比功能更强大,因为它提供了包括 CRUD 操作在内的更多功能。
KDash 仅提供资源视图,重点关注速度和用户体验。实际上,如果某个功能速度慢或用户体验差,请提出错误报告。因此,UI/UX 被设计得更加用户友好,易于导航,并在每个上下文中提供上下文帮助和标签系统,以便轻松切换不同资源。
至少到目前为止,没有计划添加资源的完整 CRUD,但将来可能会。
许可证
MIT
创建者
贡献者
依赖项
~92MB
~1.5M SLoC