TranslateProject/published/201811/20181101 KRS- A new tool for gathering Kubernetes resource statistics.md
2018-11-30 23:50:53 +08:00

74 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

KRS一个收集 Kubernetes 资源统计数据的新工具
======
> 零配置工具简化了信息收集,例如在某个命名空间中运行了多少个 pod。
![](https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/tools_hardware_purple.png?itok=3NdVoYhl)
最近我在纽约的 O'Reilly Velocity 就 [Kubernetes 应用故障排除][1]的主题发表了演讲,并且在积极的反馈和讨论的推动下,我决定重新审视这个领域的工具。结果,除了 [kubernetes-incubator/spartakus][2] 和 [kubernetes/kube-state-metrics][3] 之外,我们还没有太多的轻量级工具来收集资源统计数据(例如命名空间中的 pod 或服务的数量)。所以,我在回家的路上开始编写一个小工具 —— 创造性地命名为 `krs`,它是 Kubernetes Resource Stats 的简称 ,它允许你收集这些统计数据。
你可以通过两种方式使用 [mhausenblas/krs][5]
* 直接在命令行(有 Linux、Windows 和 MacOS 的二进制文件),以及
* 在集群中使用 [launch.sh][4] 脚本部署该脚本动态创建适当的基于角色的访问控制RBAC 权限。
提醒你,它还在早期,并且还在开发中。但是,`krs` 的 0.1 版本提供以下功能:
* 在每个命名空间的基础上,它定期收集资源统计信息(支持 pod、部署和服务
* 它以 [OpenMetrics 格式][6]公开这些统计。
* 它可以直接通过二进制文件使用,也可以在包含所有依赖项的容器化设置中使用。
目前,你需要安装并配置 `kubectl`,因为 `krs` 依赖于执行 `kubectl get all` 命令来收集统计数据。(另一方面,谁会使用 Kubernetes 但没有安装 `kubectl` 呢?)
使用 `krs` 很简单。[下载][7]适合你平台的二进制文件,并按如下方式执行:
```
$ krs thenamespacetowatch
# HELP pods Number of pods in any state, for example running
# TYPE pods gauge
pods{namespace="thenamespacetowatch"} 13
# HELP deployments Number of deployments
# TYPE deployments gauge
deployments{namespace="thenamespacetowatch"} 6
# HELP services Number of services
# TYPE services gauge
services{namespace="thenamespacetowatch"} 4
```
这将在前台启动 `krs`,从名称空间 `thenamespacetowatch` 收集资源统计信息,并分别在标准输出中以 OpenMetrics 格式输出它们,以供你进一步处理。
![krs screenshot][9]
*krs 实战截屏*
也许你会问Michael为什么它不能做一些有用的事例如将指标存储在 S3 中)?因为 [Unix 哲学][10]。
对于那些想知道他们是否可以直接使用 Prometheus 或 [kubernetes/kube-state-metrics][3] 来完成这项任务的人:是的,你可以,为什么不行呢? `krs` 的重点是作为已有工具的轻量级且易于使用的替代品 —— 甚至可能在某些方面略微互补。
本文最初发表在 [Medium 的 ITNext][11] 上,并获得授权转载。
--------------------------------------------------------------------------------
via: https://opensource.com/article/18/11/kubernetes-resource-statistics
作者:[Michael Hausenblas][a]
选题:[lujun9972][b]
译者:[geekpi](https://github.com/geekpi)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]: https://opensource.com/users/mhausenblas
[b]: https://github.com/lujun9972
[1]: http://troubleshooting.kubernetes.sh/
[2]: https://github.com/kubernetes-incubator/spartakus
[3]: https://github.com/kubernetes/kube-state-metrics
[4]: https://github.com/mhausenblas/krs/blob/master/launch.sh
[5]: https://github.com/mhausenblas/krs
[6]: https://openmetrics.io/
[7]: https://github.com/mhausenblas/krs/releases
[8]: /file/412706
[9]: https://opensource.com/sites/default/files/uploads/krs_screenshot.png (krs screenshot)
[10]: http://harmful.cat-v.org/cat-v/
[11]: https://itnext.io/kubernetes-resource-statistics-e8247f92b45c