a long time ago 在下已经在K8S内成功部署了一个prometheus+alertmanager+grafana的监控系统 并通过K8S service 的DNS方式成功接入web应用的pod 但是这只能监控一个pod,并且每次接入新的pod还得配置 同时也不能完整的监控整个K8S 于是开启了漫长的面向谷歌编程之路 经过不懈,发现了prometheus-operator这个宝贝玩意 首先得科普下operator是个什么东西? 它-属于K8S 熟练使用K8S部署的同志们肯定都知道pod/deploy/service这些K8S自带的kind 对,你没没错,就是yml文件中的那个kind: opertor提供给攻城狮们自定义资源CRD的API, 看到这你会有个疑问,自定义资源CRD又是啥? 对!deploy就是一个资源CRD,service也是,这些都是K8S原生的组件,而有了operator,我们就可以DIY组件 看到这你肯定又有个疑问了?我要diy组件干嘛呢?原生的不够用吗?(好奇宝宝) 平常发布一个javaweb应用,我们打包build镜像,创建deploy,创建service和pod关联,刚开始部署很新鲜,部署次数也就略显麻烦(呵,男人),这个时候,operator站了出来,通过自定义CRD可以描述deploy,service,变量等一连串的信息,然后达到一键部署这一酷炫的操作。 talk is cheap,show me code!