利用GitRepo完成Logstash的快速开发
< 返回列表时间: 2019-09-18来源:OSCHINA
【围观】麒麟芯片遭打压成绝版,华为亿元投入又砸向了哪里?>>>
在ELK in K8s demo中,进行了基础镜像的构建,完成了基础环境的搭建。在实际的开发部署当中,可以采用GitRepo来提高效率。本文将以更改频繁的logstash pipeline为例进行阐述。 logstash pipeline的代码在企业内部,不公开。 该仓库中文件结构如下,文件含义在demo中已说明。
.
├── logstash.conf
└── patterns
└── zstack 后续对logstash的pipeline做相关修改后,将其提交到git lab。 已为logstash实例添加了gitrepo volume(见 logstash git repo volume ),此时删除logstash pod后,replicaset-for-logstash为维持replicas=1,将创建新的logstash pod并pull最新版本的git repo作为logstash的配置。
( 以下操作务必在测试环境中验证通过后再部署到生产环境 )
kubectl delete pod replicaset-for-logstash-xxxx logstash是否应该与git repo保持同步? 目前pod logstash中只有一个container用来运行logstash进程,为了使logstash的配置与git repo保持同步,可在该pod内添加一个辅助container(运行的镜像可在docker hub上通过检索关键字"gitrepo sync"获取)。两个container挂载同一volume,由sidecontainer来保持与git repo的同步。 但是不建议logstash与git repo保持同步。在某些情况下,对logstash pipeline做修改后并不想立即使用最新修改,如:旧版本pipeline仍需要继续工作一段时间、修改的pipeline需要提交到git lab但还需要添加新的功能。
热门排行