CI/CD可观测性:泰克顿和普罗米修斯

2020-08-12 05:24:03

今天的文章是关于我用Tekton CI/CD+Prometheus做的一些实验。

持续集成和部署正成为一个越来越热门的话题-每个人都想要100%自动化、完美、快速的代码集成和部署。

通常是一个循序渐进的过程,而不是现成的解决方案(如果有,请告诉我!!;)。

因此,指标将帮助您跟踪CI/CD改进情况,并了解需要调整的内容。

老实说,我找不到关于Tekton公开的指标的足够文档。然而,经过几次实验后,我列出了(在我看来)最有价值的指标。

我准备的演示使用Prometheus作为后端来收集和显示指标,但请注意,也支持其他后端(如StackDriver/Cloud Monitoring)。

如果管道开始显示并呈持续时间增加的趋势,则此值也将增加。

下面的两个指标更有可能暴露与K8相关的问题,而不是Tekton:

TEKTON_WORKQUEUE_ADDS_TOTAL->;*它是每单位时间所需的操作数。较高的值可能表示某些节点的集群中存在问题。*tekton_workqueue_Deep->;*它是队列中等待执行的操作的数量。应该保持在较低的数值。**。

这些都是非常基本的例子,你还可以用这些指示器做其他很酷的事情。例如,您可以监控已分配给项目的Pod/资源数量、用户在重试中浪费了多少时间、在延迟、Pod延迟、工作队列等方面浪费了多少秒!

在我看来,测量管道是每个想要转向数据驱动的思维模式的公司都应该做的事情。

如前所述,Tekton附带了普罗米修斯作为默认后端。用户只需确保在Tekton配置上启用了指标。

在安装Tekton Pipeline Controller的名称空间中,有一个名为“Observability”或“tekton…”的配置映射。-可观察性“。在该configmap中,有Kative/Tekton Controller随后将用来公开指标的配置。

一旦配置了Tekton,唯一缺少的位就是相关的服务监视器,以允许普罗米修斯操作员擦除暴露的指标!

Api版本:监视.coreos.com/v1Kind:服务监视元数据:注释:meta.helm.sh/版本名称:prometheus-Operator-1595779515-Custom-sm meta.helm.sh/版本名称空间:tekton-演示生成:1标签:app:prometheus-operator-tekton-pipeline-controller app.kubernetes.io/Managed-By:Helm图表:prometheus-Operator-8.15.6传统:Helm版本:prometheus-Operator-1595779515名称。.io/实例:tekton-Pipeline-1593528871 app.kubernetes.io/组件:控制器端点:-port:度量路径:/度量间隔:15s。

再见!这是ISH(~),这是我的博客。一堆文章、帖子和考虑大多来自我目前正在关注的项目。我很乐意阅读您的意见或回答您可能有的问题,所以请随时在Twitter上联系!:d