Containerd日志空间限制
环境
- Kubernetes: 1.24.17
- Containerd: 1.6.24
需求
声明工作节点中容器生成日志大小,避免节点因空间问题导致不可调度。原使用Docker 容器运行时可以使用以下配置来实现,今学习使用Containerd的配置方法:
"log-driver": "json-file",
"log-opts": {"max-size": "200m","max-file": "5"}
操作
方法1: 节点初始化使用KubeletConfiguration声明
apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd
failSwapOn: false
containerLogMaxSize: 200Mi
containerLogMaxFiles": 5
方法2: 更新 ${PATH}/kubelet/config.yaml
# vim /var/lib/kubelet/config.yaml
...<省略若干行>...
containerLogMaxSize: 200Mi
containerLogMaxFiles: 5
...<省略若干行>...
# systemctl restart kubelet
方法3: 更新kubelet 运行参数
# vim /etc/sysconfig/kubelet
--container-log-max-files=5 --container-log-max-size="200Mi"
# systemctl restart kubelet
验证
可使用以下命令来查看参数是否已经生效:
总结
Kubelet 针对节点日志限制默认为:
- containerLogMaxFiles: 5
- containerLogMaxSize: "50Mi"