38个版本 (20个破坏性版本)

0.21.2 2024年4月26日
0.21.1 2023年12月11日
0.20.0 2023年12月4日
0.19.0 2023年11月3日
0.5.0 2022年3月20日

#85 in HTTP服务器

Download history 709/week @ 2024-04-23 894/week @ 2024-04-30 784/week @ 2024-05-07 684/week @ 2024-05-14 679/week @ 2024-05-21 674/week @ 2024-05-28 468/week @ 2024-06-04 489/week @ 2024-06-11 406/week @ 2024-06-18 372/week @ 2024-06-25 309/week @ 2024-07-02 324/week @ 2024-07-09 525/week @ 2024-07-16 783/week @ 2024-07-23 567/week @ 2024-07-30 389/week @ 2024-08-06

每月下载量2,339

Apache-2.0

150KB
3K SLoC

kubert

Rust Kubernetes运行时助手。基于kube-rs

kubert

/ˈkuː.bərt/

Crates.io Documentation License

功能

  • clap 命令行界面支持;
  • 一个基本的具有 /ready/live 探针端点的管理服务器;
  • 可选的 prometheus-client 集成,具有进程和Tokio运行时指标;
  • 默认的Kubernetes客户端;
  • SIGTERMSIGINT 信号上优雅关闭;
  • 一个HTTPS服务器(用于准入控制器和API扩展)带有证书重新加载;
  • 一个用于维护从监视一个或多个Kubernetes资源类型中生成的索引的实用程序;
  • 一个支持延迟/重新排程更新的 requeue 通道(即,如果写入失败的情况);
  • 以及一个将所有这些结合在一起的 Runtime 类型!

为什么不使用 kube-rs 呢?

kube Crate非常棒!实际上,kubert建立在kube的客户端和运行时模块之上。然而,这个crate捕获了我们构建Linkerd控制器时遇到的一些重复模式。它并不试图隐藏 kube -- 虽然它确实减少了初始化监视和缓存(反射器)周围的样板代码;并且它期望你通过tokio运行时来安排工作。

示例

此仓库包含一个简单的示例应用,演示了如何使用 kubert::Runtime

其他示例包括

kubert-prometheus-process

kubert-prometheus-process 库提供了对 进程指标 的支持,适用于 prometheus-client。它不依赖于 kubert,可以独立使用。

kubert-prometheus-tokio

kubert-prometheus-tokio 库公开了针对 prometheus-client 的 Tokio 运行时指标。它也不依赖于 kubert,可以独立使用。

请注意,Tokio 运行时指标需要在编译时设置 RUSTFLAGS="--cfg tokio_unstable"

状态

尽管这个库基于 Linkerd 的生产代码,但它仍然相当实验性;我们计划在 Linkerd 中继续使用它。

依赖项

~2–28MB
~399K SLoC