这期内容当中小编将会给大家带来有关怎么利用GitRepo完成Logstash的快速开发,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
在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但还需要添加新的功能。
上述就是小编为大家分享的怎么利用GitRepo完成Logstash的快速开发了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注天达云行业资讯频道。