gpt4 book ai didi

kubernetes 如何在没有 stdout 或 stderr 的情况下收集日志文件

转载 作者:行者123 更新时间:2023-12-04 05:59:13 33 4
gpt4 key购买 nike

我的 pod 有多个日志文件,例如 php-fpm + nginx堆。如何收集日志文件?

我知道 nginx 是用符号链接(symbolic link)来做的。但这不能处理超过 2 个日志文件。

我想将主机中的卷挂载到 pod,但是如何为每个 pod 设置不同的文件夹?无论如何要挂载一个名为podname 的文件夹吗?在主机到 pod 文件夹 /logs .

raychaser提供了一种将文件夹收集到 /var/log/containers/ 的方法,但我认为它在 kubernetes 中不起作用。

最佳答案

最后,我找到了一种收集日志的方法。

  • 确保所有应用程序将所有日志文件写入一个文件夹,例如/med/log .
  • 确保所有应用程序都使用脚本启 Action 业,例如entrypoint.sh .
  • 在挂载卷中创建一个以 $HOSTNAME 命名的文件夹,例如/log/$HOSTNAME
  • 链接文件夹:ln -sf /log/$HOSTNAME /med/log .

  • 在k8s中,需要挂载主机日志文件夹 /var/log/k8s//log .日志目录如下所示:
    /var/log/k8s/
    |-- app1-${container_id}/
    | |-- access.log
    | |-- error.log
    |-- app2-${container_id}/
    |-- access.log
    |-- error.log

    关于kubernetes 如何在没有 stdout 或 stderr 的情况下收集日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44215229/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com