帮你快速理解、总结文档立即下载

TKE 普通节点 Pod 日志路径行为变更

最近更新时间:2026-07-07 11:07:50

我的收藏

变更概览

项目
内容
变更类型
不兼容变更(Breaking Change)
影响范围
k8s 版本 ≤ 1.32 的新增 TKE 普通节点(运行时为 containerd)
生效时间
2026 年 3 月 17 日

变更说明

此前,TKE 普通节点(k8s ≤ 1.32)在运行时为 containerd 的情况下,节点初始化时会自动创建以下软链接:
/var/log/pods → <容器目录,默认/var/lib/containerd>/log/pods
变更后,新初始化的普通节点将不再创建上述软链接,Pod 日志将直接写入 /var/log/pods(普通目录),与原生节点行为保持一致。
如果仍希望将日志与容器数据统一存储至数据盘,建议挂载数据盘并将挂载点设置为 /var/lib/container,节点初始化时将自动在该目录下创建以下三个绑定挂载目录:
/var/lib/containerd 绑定挂载到 /var/lib/container/containerd
/var/lib/kubelet 绑定挂载到 /var/lib/container/kubelet
/var/log/pods 绑定挂载到 /var/lib/container/log

影响分析

场景
影响
新建1.32及低版本普通节点
⁠/var/log/pods⁠ 为普通目录,取消软链。
新建1.34 及高版本普通节点
不影响,⁠/var/log/pods⁠ 已经是普通目录。
存量普通节点升级
不影响,已有软链保持不变。
原生节点
不影响,⁠/var/log/pods⁠ 已经是普通目录。

用户操作指引

大多数用户无需操作,此次变更旨在解决日志采集组件的典型兼容性问题,对常规使用场景无影响。

特殊情况

如果您的使用场景强依赖 ⁠/var/lib/containerd/log/pods 路径(例如通过 hostPath 直接挂载该目录),希望保持旧的行为,可在新增节点前配置以下前置脚本。
注意:
脚本中 /var/lib/containerd 为默认容器目录。如您已自定义容器目录,请将脚本中所有相关路径替换为您的自定义路径。
cat > /etc/systemd/system/setup-pods-log.service << 'EOF'
[Unit]
Description=symlink /var/log/pods to containerd root dir
Before=kubelet.service

[Service]
Type=oneshot
ExecStartPre=/bin/bash -c "for i in $(seq 1 300); do mountpoint -q /data && exit 0; sleep 1; done; exit 1"
ExecStart=/bin/bash -c "mkdir -p /var/lib/containerd/log/pods && ln -sfn /var/lib/containerd/log/pods /var/log/pods"
RemainAfterExit=yes
TimeoutStartSec=360

[Install]
WantedBy=multi-user.target
EOF
systemctl enable --now setup-pods-log.service