京东-优惠雷达
新人页面
精选商品
首月0月租体验,领12个月京东PLUS
自营热卖

利用GitRepo完成Logstash的快速开发

长青诗 1年前   阅读数 103 0

在ELK in K8s demo中,进行了基础镜像的构建,完成了基础环境的搭建。在实际的开发部署当中,可以采用GitRepo来提高效率。本文将以更改频繁的logstash pipeline为例进行阐述。

  1. logstash pipeline的代码在企业内部,不公开。
  2. 该仓库中文件结构如下,文件含义在demo中已说明。

.
├── logstash.conf
└── patterns
        └── zstack

  1.  
  2. 后续对logstash的pipeline做相关修改后,将其提交到git lab。
  3. 已为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
  4. 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但还需要添加新的功能。

 


注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: