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服务器
每月下载量2,339
150KB
3K SLoC
kubert
Rust Kubernetes运行时助手。基于kube-rs
。
/ˈkuː.bərt/
功能
clap
命令行界面支持;- 一个基本的具有
/ready
和/live
探针端点的管理服务器; - 可选的
prometheus-client
集成,具有进程和Tokio运行时指标; - 默认的Kubernetes客户端;
- 在
SIGTERM
或SIGINT
信号上优雅关闭; - 一个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