【发布时间】:2021-07-26 16:48:40
【问题描述】:
【问题讨论】:
-
您无法通过原生 kubernetes 旋转/截断它。也许,您可能需要通过 docker 旋转它。
标签: kubernetes weave
【问题讨论】:
标签: kubernetes weave
正如评论中所说,kubernetes 不负责日志轮换。这来自 Kubernetes 文档:
节点级日志记录的一个重要考虑因素是实现日志 轮换,以便日志不会消耗所有可用的存储空间 节点。 Kubernetes 不负责轮换日志,而是负责 部署工具应该建立一个解决方案来解决这个问题。例如, 在 kube-up.sh 脚本部署的 Kubernetes 集群中,有一个 logrotate 工具配置为每小时运行一次。您还可以设置一个 容器运行时自动轮换应用程序的日志。
作为建议的选项,这可以在容器的运行时级别进行管理。
每个 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 NPC,有一个选项允许disable NPC。然而,根据文档,这是基于他们的文档的付费选项 - cloud.weave.works
【讨论】:
weave cni 的自定义程度以及它的安装方式。一般答案是通过此命令kubectl edit daemonset weave-net -n kube-system 编辑 weave\s daemon-set 最终结果在我的答案中也是如此(基本上您需要在env 中添加两行:- name: EXTRA_ARGS 和 @ 987654337@