如何确保一台物理机器运行了web微服务的时候就必须同时运行一个log微服务?这对于弹性扩容的k8s来说是巨大挑战
基于docker的web微服务运行的时候,映射了宿主的log目录到容器的log目录,此时我们开启了一个filebeat微服务,这个微服务的目的就是吧log目录的日志同步到elasticsearch,问题是我们如何确保一台物理机器运行了web微服务的时候就必须同时运行一个log微服务?
假如用了k8s的什么弹性扩容,那么日志微服务也得响应的配套。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
核心问题不是怎么保证log服务存在,而是统一的进行日志采集。吧日志做成单一的服务,可以根据设置约定去采集日志。而不是每一个服务都需要自己去处理日志上传。参考阿里云日志采集,k8s应该也有类似的插件吧。
一个pod里可以存在两个容器,一个Deployment可以管理多个容器,你可以看看这篇实例https://blog.csdn.net/weixin_...
很多种办法:
1.自定义CRD资源,该资源同时部署服务和日志采集的agent端
2.service mesh方案, 采用sideCar方式启动日志采集组件