【问题标题】:How to get real time update from s3如何从 s3 获取实时更新
【发布时间】:2018-06-30 19:59:15
【问题描述】:

Circleci 和许多其他 ci 工具在作业运行期间显示实时日志。它类似于 linux 中的tail -f,但它也显示所有以前的日志。

我正在尝试将特定日志从 kubernetes 同步到 s3,然后尽可能将更新移动到浏览器?

【问题讨论】:

    标签: logging amazon-s3 websocket kubernetes


    【解决方案1】:

    我正在尝试将特定日志从 kubernetes 同步到 s3,然后尽可能将更新移动到浏览器?

    恕我直言,您可能希望有一个“tee”机制来将日志流转移到 每个 目的地,因为这两个目的地具有截然不同的访问(和重试!)机制。 AFAIK kubernetes 允许无限(?)数量的kubectl logs -f 连接,因此您需要一个连接到 pod 并将这些字节中继到浏览器的进程,以及一个连接并将字节中继到 S3 的单独进程。您可以有一个进程同时处理这两个问题,但这会冒着单个错误消除两个流的风险,让每个人都不满意。

    我使用kubectl logs -f 作为这个答案的“快捷方式”,但我非常肯定有一个 API 端点可以做到这一点,我只是不记得它是什么——kubectl --v=100 logs -f $pod 会显示给你.

    【讨论】:

    • 所以你的意思是我可以通过某种方式使用kubectl logs -f 将结果发送到浏览器?
    • 简短的回答是肯定的;长答案是,您几乎肯定会想在浏览器和 kubernetes api 之间编写一个代理,这样您就不会将狂野的 Internet 暴露给您的 Pod 的 api(虽然,想想看,我猜是写得很好 RBAC 政策,即使这样做可能是安全的)。可以看how GitLab does it获取灵感
    猜你喜欢
    • 1970-01-01
    • 2017-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 2011-09-12
    相关资源
    最近更新 更多