我是 Kubernetes 的新手,我知道有多种日志收集方法。但我特别想问一下我的情况。我们有一个 Syslog xyz.com 端口 8090。现在我们希望我们的 pod 将日志发送到我们的服务器 xyz.com。实现这一目标的最佳方法是什么?是否有任何集中的方式可以自定义来自所有部署 pod 的日志,或者我们是否必须在容器中配置 rsyslog 服务并重建容器?或者你们可以建议任何最佳实践。
谢谢,优素福
答案1
參閱Sudheer Chamarthi 的Medium 博客在 ITNEXT 上发布在 Kubernetes 中运行 Rsyslog 服务器并按照以下步骤在 Syslog 服务器中传输日志:
- 构建并将镜像推送到 Docker Registry
- 创建单独的命名空间
- 创建持久存储
- 创建 Rsyslog 部署
- 向服务公开部署
- 向 NLB 公开服务
- 进行测试和扩展
您可以查看Github 档案在日志架构kubernetes-rsyslog-logging提供 kubernetes 配置以建立集中式日志解决方案。您可以浏览约翰·斯塔里奇教程Kubernetes 使用 Syslog 进行日志转发。
作为 @拉斯克评论中提到,使用带有日志记录代理的 sidecar 容器被广泛使用。它独立于应用程序,使其成为一种更加灵活的解决方案,请注意,它可以用两种不同的方式实现。