【问题标题】:why kubernetes networking driver weave generating big log file为什么 kubernetes 网络驱动程序会编织生成大日志文件
【发布时间】:2021-07-26 16:48:40
【问题描述】:

想问一下为什么Kubernetes网络驱动weave容器会产生大量日志?

两天后的日志文件大小为 700MB。

我该如何解决?

【问题讨论】:

  • 您无法通过原生 kubernetes 旋转/截断它。也许,您可能需要通过 docker 旋转它。

标签: kubernetes weave


【解决方案1】:

kubernetes 中的日志

正如评论中所说,kubernetes 不负责日志轮换。这来自 Kubernetes 文档:

节点级日志记录的一个重要考虑因素是实现日志 轮换,以便日志不会消耗所有可用的存储空间 节点。 Kubernetes 不负责轮换日志,而是负责 部署工具应该建立一个解决方案来解决这个问题。例如, 在 kube-up.sh 脚本部署的 Kubernetes 集群中,有一个 logrotate 工具配置为每小时运行一次。您还可以设置一个 容器运行时自动轮换应用程序的日志。

作为建议的选项,这可以在容器的运行时级别进行管理。

请参考Logging at the node level

减少 Weave CNI 的日志

每个 pod 中有两个容器。 Weave 本身和 weave-npc(它是一个网络策略控制器)。

默认情况下,weave 的日志级别设置为 INFO。这可以更改为 WARNING 以仅查看异常。这可以通过编织的EXTRA_ARGS 环境变量添加--log-level 标志来实现:

$ kubectl edit daemonset weave-net -n kube-system

所以weave container 部分应该如下所示:

spec:
  containers:
  - command:
    - /home/weave/launch.sh
    env:
    - name: HOSTNAME
      valueFrom:
        fieldRef:
          apiVersion: v1
          fieldPath: spec.nodeName
    - name: EXTRA_ARGS # this was added with value below!
      value: --log-level=warning
    - name: INIT_CONTAINER
      value: "true"
    image: docker.io/weaveworks/weave-kube:2.8.1
    imagePullPolicy: IfNotPresent
    name: weave 

Weave - logs level.

很多日志来自Weave NPC,有一个选项允许disable NPC。然而,根据文档,这是基于他们的文档的付费选项 - cloud.weave.works

Weave - Changing configuration options

【讨论】:

  • 谢谢,您的答案将是解决方案,您能告诉我们如何更改 deployment.yaml 中的日志级别吗?
  • @karlos 当然。请参考我最初发布的答案。这可能取决于您的weave cni 的自定义程度以及它的安装方式。一般答案是通过此命令kubectl edit daemonset weave-net -n kube-system 编辑 weave\s daemon-set 最终结果在我的答案中也是如此(基本上您需要在env 中添加两行:- name: EXTRA_ARGS 和 @ 987654337@
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-12
  • 1970-01-01
  • 1970-01-01
  • 2020-03-10
  • 1970-01-01
  • 2021-03-20
  • 2019-09-08
相关资源
最近更新 更多