变更概览
项目 | 内容 |
变更类型 | 不兼容变更(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 dirBefore=kubelet.service[Service]Type=oneshotExecStartPre=/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=yesTimeoutStartSec=360[Install]WantedBy=multi-user.targetEOFsystemctl enable --now setup-pods-log.service