8s pod 查看 的yaml_k8s集群中pod镜像版本检查
概述version-checker用于观察k8s集群中运行的镜像的当前版本以及上游可用的最新版本。这些检查作为Prometheus指标公开,可以在gara fana上查看。该工具目前处于实验阶段。version-checker支持以下仓库:ACRDocker HubECRGCR(inc gcr facades such as k8s.gcr.io)Quay自托管(符合Docker V2...
概述
version-checker用于观察k8s集群中运行的镜像的当前版本以及上游可用的最新版本。这些检查作为Prometheus指标公开,可以在gara fana上查看。
该工具目前处于实验阶段。
version-checker支持以下仓库:
-
ACR
-
Docker Hub
-
ECR
-
GCR (inc gcr facades such as k8s.gcr.io)
-
Quay
-
自托管(符合Docker V2 API的registry,例如harbor,artifactory等)。可以一次配置多个自托管registry。
这些镜像仓库支持身份验证。
项目地址:https://github.com/jetstack/version-checker.git
安装
可以使用官方提供的yaml文件或者helm文件安装, 均在项目下的deploy目录下
yaml安装
|
|
helm文件安装
|
|
这里我使用yaml安装,安装后如下
|
|
使用
Version-checker 暴露prometheus指标的地址为 http://podip:8080/metrics
|
|
version-checker 默认只会检查包含注解 enable.version-checker.io/my-container-name: "true"
的pod。所以上面只显示了 version-checker-8cfbf9f69-4htlv这个pod,可以通过启动时添加选项 -a, –test-all-containers 来检查所有pod
|
|
我们此时在访问metrics 如下
|
|
version-checker还支持如下注释:
-
pin-major.version-checker.io/my-container: 4
。将主版本固定为4(v4.0.0
)。 -
pin-minor.version-checker.io/my-container: 3
。将次要版本固定为3(v0.3.0
)。 -
pin-patch.version-checker.io/my-container: 23
。将补丁程序的版本固定为23(v0.0.23
)。 -
use-metadata.version-checker.io/my-container: "true"
。将允许搜索包含字符串第一部分之后的信息的镜像标签。例如,这可以是预发布或生成元数据(v1.2.4-alpha.0
,v1.2.3-debian-r3
)。 -
use-sha.version-checker.io/my-container: “true”`。将检查可用的最新SHA标签。如果未设置镜像标签或“latest”镜像标签,则将其静默设置为true。不能与任何其他选项一起使用。
-
match-regex.version-checker.io/my-container: ^v\d+\.\d+\.\d+-debian-
。仅用于与匹配正则表达式集的镜像标签进行比较。例如,上面的注释将仅检查格式为的镜像标签v1.3.4-debian-r30
。use-metadata.version-checker.io
设置时此项时不需要。设置此选项后,除URL覆盖以外的所有其他选项都将被忽略。 -
override-url.version-checker.io/my-container: docker.io/bitnami/etcd
。用于更改URL,以查找最新图像版本所在的位置。在此示例中,my-container
将把当前版本与docker.io/bitnami/etcd
仓库中的镜像版本进行比较。
监控展示
我们还可以用prometheus和gtafana 进行监控展示
注意:通过helm安装会自动创建ServiceMonitor,这里我们需要手动创建ServiceMonitor
|
|
稍等片刻我们可以到prometheus查看到相应target
grafana模板地址:https://grafana.com/grafana/dashboards/12833
效果如下
更多推荐
所有评论(0)