kubernetes作业中存储了什么?如何检查旧作业的资源使用情况?
今天早上,我了解到所有以前运行的cronjobs的作业实例都保留在集群中,这是kubernetes中的(不幸的)默认值。我为没有阅读文件中的细节而感到内疚。我还注意到删除作业(kubernetes作业中存储了什么?如何检查旧作业的资源使用情况?,kubernetes,Kubernetes,今天早上,我了解到所有以前运行的cronjobs的作业实例都保留在集群中,这是kubernetes中的(不幸的)默认值。我为没有阅读文件中的细节而感到内疚。我还注意到删除作业(kubectl delete job[or--all])需要相当长的时间。此外,我注意到,当系统中只有大约750个这样的旧作业时(加上一些其他活动容器,否则不会导致重载),即使是一个具有三个大型节点的合理配置的kubernetes集群也会出现故障(尝试使用kubectl时会出现各种超时)[更正:还保留了与这些旧作业相关的约
kubectl delete job[or--all]
)需要相当长的时间。此外,我注意到,当系统中只有大约750个这样的旧作业时(加上一些其他活动容器,否则不会导致重载),即使是一个具有三个大型节点的合理配置的kubernetes集群也会出现故障(尝试使用kubectl时会出现各种超时)[更正:还保留了与这些旧作业相关的约7k个pod:-o]。(我确实了解了如何限制/避免从cronjobs存储旧作业,因此这在将来不会成为问题。)
因此,由于我找不到kubernetes的相关文档,我的(相关)问题如下:
我不知道k8s是否提供了什么作业消耗了多少磁盘空间的详细信息,但这里有一些您可以尝试的东西 尝试查找与作业关联的播客:
kubectl get pods --selector=job-name=<job name> --output=jsonpath={.items..metadata.name}
kubectl get pods--selector=job name=--output=jsonpath={.items..metadata.name}
了解pod后,找到与其关联的docker容器:
kubectl describe pod <pod name>
kubectl描述pod
在上面的输出中查找
节点
和容器ID
。现在在该节点上,在该节点上转到路径/var/lib/docker/containers/
,在这里您可以进行一些调查,以找出问题所在。谢谢。我需要添加一个-a来显示非活动容器,但在其他情况下,这对于查找co在磁盘上的位置很有用ntainer数据是。它看起来一点也不占用空间(不过,在某种程度上,它将取决于日志的大小)。它仍然无法解释为什么数千个数据足以影响kube的性能,但这很有用。谢谢。