【问题标题】:How to change the log level of a kubernetes pod?如何更改 kubernetes pod 的日志级别?
【发布时间】:2020-04-20 12:30:55
【问题描述】:

当我给予时

kubectl logs <pod-name>

它给出了级别设置为info的pod的日志 如何更改此日志级别(部署前和部署后)?

【问题讨论】:

  • 这实际上取决于应用程序如何处理日志级别。这不是 Kubernetes 本身处理的事情。没有关于应用程序的信息,这个问题是无法回答的。

标签: amazon-web-services kubernetes google-kubernetes-engine kubernetes-pod


【解决方案1】:

嗯,

据我所知,你不能。您的容器化应用程序将日志写入标准输出和/或标准错误。然后这些被 Kubernetes 捕获。

应用程序负责生成包含信息、错误等信息的日志并对其进行格式化,以使它们可以被 StackDriver 等外部日志工具使用(这是一个示例,因为我使用的是 Google 的 GKE)。

所以也许当您启动容器化应用程序时,您可以配置日志级别以输出除信息以外的其他日志?

【讨论】:

    【解决方案2】:

    我希望您在应用程序清单 (xyz.yaml) 中指定 LOG_LEVEL我指的是 LOG_LEVEL 作为稍后将由应用程序使用的环境变量)。因此,当部署 pod 时,它会使用 manifest 中指定的 LOG_LEVEL 并配置应用程序以生成指定级别的日志。

    一旦 Pod 启动,您将无法更改日志级别,除非您先将其删除并使用更新后的清单重新部署 Pod。

    解决方法

    除了通过环境变量传递LOG_LEVEL,您还可以使用一些外部工具(如zookeeper)来管理应用程序的配置。对于这种方法,您需要以这样一种方式对应用程序进行编程,即每当在 zookeeper 节点上检测到更改时,它应该重新启动自己。我希望这是有道理的,如果您需要有关此方法的帮助,请告诉我。

    【讨论】:

      猜你喜欢
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-02
      • 2017-12-24
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多