一个基于k8s client-go实现的容器镜像版本检查工具
背景
业务中有使用k8s部署和管理微服务,微服务的数量多了之后偶尔会出现因人工操作疏漏而导致版本错乱的现象。比如某个微服务临时要切到灰度版本,结果灰度执行完成后忘记切换回正式版本;再比如一些cronjob所使用的镜像版本可能落后于deployment中运行的版本(cronjob配置忘记更新镜像版本)。这些状况都可能给业务带来损害,为此我编写了一个检查规则可配置的工具来兜底提醒,工具通过k8s的client-go客户端获取微服务的信息跟配置中的信息做比对,对于异常信息做出预警。
插件模式
这里使用到上一篇中的插件组件,插件组件的介绍可以查阅这篇内容《一个插件引擎,让自己的Go程序支持插件式扩展》