1个不稳定版本
0.1.0 | 2023年12月11日 |
---|
#696 在 调试
1,102 每月下载量
在kubert中使用
12KB
151 行
kubert
Rust Kubernetes运行时助手。基于kube-rs
。
/ˈkuː.bərt/
功能
clap
命令行界面支持;- 一个基本的admin服务器,包含
/ready
和/live
探测端点; - 可选的
prometheus-client
集成,包含进程和Tokio运行时指标; - 默认的Kubernetes客户端;
- 在
SIGTERM
或SIGINT
信号下优雅关闭; - 一个HTTPS服务器(用于准入控制器和API扩展),支持证书重新加载;
- 一个用于维护从监视一个或多个Kubernetes资源类型派生的索引的实用程序;
- 一个支持延迟/重新安排更新的requeue通道(即,在写入失败的情况下);
- 以及一个将所有这些结合在一起的
Runtime
类型!
为什么不使用kube-rs
?
kube
代码库很棒!实际上,kubert
基于kube
的客户端和运行时模块构建。然而,该代码库捕获了我们构建Linkerd控制器时遇到的一些重复模式。它不会隐藏kube
—尽管它减少了初始化监视和缓存(反射器)的样板代码;并且它期望你通过tokio
运行时安排工作。
示例
此存储库包括一个简单的示例应用程序,演示了如何使用kubert::Runtime
。
其他示例包括
kubert-prometheus-process
《kubert-prometheus-process》库为`prometheus-client`提供进程指标。它不依赖于kubert,可以独立使用。
kubert-prometheus-tokio
《kubert-prometheus-tokio》库公开了Tokio运行时指标,用于`prometheus-client`。它也不依赖于kubert,可以独立使用。
请注意,Tokio运行时指标需要在编译时设置`RUSTFLAGS="--cfg tokio_unstable"`。
状态
尽管这个库基于Linkerd的生产代码,但仍然处于实验阶段;我们计划在Linkerd中继续使用它。
依赖项
约4-11MB
约99K SLoC