发生了什么?
Kubeadm集群的kubelet配置如下:
containerLogMaxSize: 25Mi
containerLogMaxFiles: 2
crictl停止了静态etcd/apiserver/controller/manager pod容器。pod日志没有轮换。
预期结果:
最多只保留2个pod日志。
如何尽可能精确地重现问题?
sudo crictl stop <etcd/apisever >
需要了解的其他信息:
- 无响应*
Kubernetes版本:
v1.25.11
云提供商:
裸金属
操作系统版本:
ubuntu 20.04.6
安装工具:
容器运行时(CRI)和版本(如有适用)
containerd 1.7.2
相关插件(CNI,CSI等)和版本(如有适用)
9条答案
按热度按时间fcg9iug31#
/sig node
brgchamk2#
/transfer kubeadm
utugiqy63#
我移除了节点标签并将其移动到k/kubeadm,但这可能是一个关于kubernetes/kubernetes的工单。将其移回原处。
x7yiwoj44#
/transfer kubernetes
c9x0cxw05#
我认为这应该是节点。
/sig node
节点负责pod生命周期,并且拥有日志轮转代码。我不确定静态pods的日志轮转是否真的有效。我在文档中看到了一些关于静态pods和日志轮转的提及,但不确定。
https://kubernetes.io/docs/concepts/cluster-administration/logging/#system-component-logs
zzwlnbp86#
我认为这应该是节点。
/sig node
节点负责pod生命周期,它们拥有日志轮转代码。我不确定静态pod的日志轮转是否真的有效。我在文档中看到了一些关于静态pod和日志轮转的提及,但不确定。
https://kubernetes.io/docs/concepts/cluster-administration/logging/#system-component-logs
实际上,静态pod的日志轮转运行良好。请参阅以下内容。只有etcd和k8s控制平面的静态pod。
那么kubelet如何确定容器日志应该被轮转?是否有任何apiserver请求它?如果它必须查询apiserver,但apiserver容器本身已关闭/重载。在这种情况下,kubelet可能无法清理之前的etcd/apiserver容器日志。
root@mst1:/var/log/pods/default_static-web-mst1_ab30fcbb6481a1c91aa9873ea51974ff/web# ll
总共24个
drwxr-xr-x 2 root root 4096 Sep 25 21:46 ./
drwxr-xr-x 3 root root 4096 Sep 25 21:28 ../
-rw-r----- 1 root root 5650 Sep 25 21:34 ---------- 3.log
-rw-r----- 1 root root 5649 Sep 25 21:46 ---------- 4.log
a1o7rhls7#
什么是API服务器的pod清单?
在这些文档中,它说将静态pod挂载到共享卷可能会导致旋转问题。
Kubelet处理日志旋转。
qaxu7uf28#
代码
4bbkushb9#
/triage accepted