You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8s环境下用containerd作CRI,如何配置日志转发至journald

配置containerd将容器日志转发至journald(Kubernetes环境)

1. 备份现有配置文件

先备份containerd的配置文件,防止修改出错:

cp /etc/containerd/config.toml /etc/containerd/config.toml.bak

2. 修改containerd配置

编辑/etc/containerd/config.toml文件,调整以下关键配置:

设置CRI日志驱动为journald

找到[plugins."io.containerd.grpc.v1.cri"]配置段,添加或更新其子节点log的配置:

[plugins."io.containerd.grpc.v1.cri".log]
  driver = "journald"
  # 可选:按需配置日志轮转参数
  max_size = "100Mi"
  max_file = 5

(推荐)开启runc的systemd cgroup支持

找到[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]段,确保SystemdCgroup设为true:

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
  SystemdCgroup = true

这一步能让journald关联容器的cgroup元数据,后续可以通过cgroup相关字段更精准地过滤日志。

3. 重启containerd服务

配置修改完成后,重启containerd使设置生效:

systemctl restart containerd

集群中已运行的Pod不会受影响,新创建的Pod会自动使用journald日志驱动。

4. 验证配置效果

创建一个测试Pod来验证:

apiVersion: v1
kind: Pod
metadata:
  name: test-journald-log
spec:
  containers:
  - name: test-container
    image: busybox
    command: ["sh", "-c", "echo 'Test journald log entry' && sleep 3600"]

应用Pod后,用journalctl查询容器日志:

journalctl CONTAINER_NAME=test-container

如果能看到输出的测试日志,说明配置生效。也可以通过containerd config dump确认配置已加载:

containerd config dump | grep -A5 -B5 "journald"

内容的提问来源于stack exchange,提问作者karlos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:05:35