docker - 是否可以重定向 Kubernetes 中的日志记录?
问题描述
我是 Kubernetes 的新手,当我使用 Docker swarm 时,我能够通过以下方式重定向日志记录:
myapp:
image: myregistry:443/mydomain/myapp
deploy:
mode: global
restart_policy:
condition: on-failure
logging:
driver: gelf
options:
gelf-address: "udp://localhost:12201"
environment:
- LOGGING_LEVEL=WARN
这样,docker service logs -f myapp
在这种情况下,我不会使用 or查询日志,而是kubectl logs -f myapp
将它们重定向以集中监控它们(例如使用 ELK)。
这对 Kubernetes 可行吗?什么是等效的解决方案?
谢谢您的帮助
解决方案
是的,有许多开源和商业解决方案可以将所有 kubernetes 日志(应用程序和集群以及所有内容)发送到 ELK 等系统。
假设您已经设置了 ElasticSearch。
我们正在使用 FluentBit 将 K8S 日志发送到 EFK:
Fluent Bit DaemonSet 已准备好与普通 Kubernetes 集群上的 Elasticsearch 一起使用
https://github.com/fluent/fluent-bit-kubernetes-logging
我们还使用带有 ELk 的 SearchGurard 来限制用户只能查看属于在他们自己的命名空间中运行的应用程序的日志。
推荐阅读
- python - _hashlib 模块不可用 - PyPy3
- intellij-idea - 如何将提交的文件移动到 Intellij 中的书架?
- azure - 使用 Powershell 查询 Azure AD 以查找哪些用户可以访问 Azure 中的不同资源
- python - 将中间结果存储在字典中的递归循环的输出不一致
- sap-cloud-platform - 通过 SDK UserAccesor API 在 SAP Cloud Foundry 应用程序中捕获 IDP 用户属性
- mysql - 使用 Pandas 插入 MySQL 替换内容
- c++ - Boost 目录迭代器抛出 ERROR_INVALID_DRIVE
- marklogic - Marklogic 错误日志记录整行而不是截断
- python - py2neo.ogm 中 GraphObject 的动态属性
- android - 在某些设备上捕获的图像会自动旋转