我正在编写一个自定义的Kubernetes控制器和资源来跟踪服务对象被调用的次数。其背后的想法是在资源中添加“ hitcount”字段,并在每次调用服务时对其进行更新。 (意思是每次对服务中包含的Pod发出请求时更新计数)
这可能吗? kubernetes API是否可以选择执行此操作?
答案 0 :(得分:1)
听起来您实际上是在尝试在kubernetes api中实现指标。它虽然不是一个控制器。简而言之,控制器是一款软件,可以在现实世界中不断实现kubernetes API中所述的意图。
除了语义之外,kubernetes API中的状态对象是以其类型定义的。对于Pod,在撰写此答案时,它是here,并且不是可扩展的答案。因此,您无法真正将指标放入Pod对象。这自然引起的问题是,为什么不使用Prometheus / grafana之类的指标收集和可视化所期望的东西?
除了所有这些之外,您还遇到了如何公开/收集该指标的问题。 Istio可以在这里提供帮助,或者Pod本身的软件可以公开其指标(如果可能的话,这是采用imo的最佳途径)