当前位置: 首页 > 知识库问答 >
问题:

码头工人清理库伯内特斯豆荚的速度太快了

田远
2023-03-14

我正在运行许多CronJobs来自动化我的家庭服务器上的任务。当一个作业运行并且其pod完成时,我可以使用kubectl日志查看日志

unable to retrieve container logs for docker://<containerID>

我自己没有启用任何日志旋转,所以我假设Docker正在清理容器完成后的日志。如何配置Docker以保留这些容器日志,以便在作业完成后的较长时间(例如1天)后可以看到作业日志。

  • 集群供应器:kubeadm 1.17.0
  • Kubernetes版本:1.17.0
  • Docker版本:18.06.3-ce
  • uname-r:4.19.86-coreos

共有2个答案

谷梁宝
2023-03-14

使用docker prune进行简单的CronJob

docker system prune -f -a --filter "until=168h"
docker volume prune -f
逄嘉木
2023-03-14

您可以尝试在Kubelet中设置最小容器ttl持续时间标志。这是完成容器在垃圾收集之前的最短期限。

在作业规范中,您还可以指定TTL

apiVersion: batch/v1
kind: Job
metadata:
  name: pi-with-ttl
spec:
  ttlSecondsAfterFinished: 100

作业pi with ttl将有资格在完成后100秒自动删除。

 类似资料:
  • 据我所知,作业对象应该在一定时间后收获豆荚。但是在我的GKE集群(库伯内特斯1.1.8)上,“kubectl get pods-a”似乎可以列出几天前的豆荚。 所有这些都是使用乔布斯API创建的。 我确实注意到在使用 kubectl 删除作业后,pod 也被删除了。 我在这里主要担心的是,我将在批量作业中在集群上运行成千上万个pod,并且不想让内部待办系统过载。

  • 正在等待,服务endpoint尚未就绪。 Minikube版本:V0.20.0 环境: minikube日志还报告了以下错误:..... 名称:kubernetes-dashboard-2039414953-czptd命名空间:kube-system节点:minikube/192.168.99.102开始时间:2017年7月14日星期五09:31:58+0530标签:k8s-app=kuberne

  • 我在Linux服务器的Kubernetes上安装了带有2或3个pod的Spring Boot应用程序。为了监控它,我也安装了普罗米修斯。目前,从应用程序到普罗米修斯的衡量标准进展顺利。 但我怀疑普罗米修斯只从一个豆荚中提取指标。对于普罗米修斯配置文件中的如下作业,普罗米修斯是否只从一个pod中获取指标?我怎样才能让普罗米修斯同时刮掉所有的豆荚呢?

  • 我正在评估Kubernetes作为我们新应用程序的平台。现在看来,这一切都非常令人兴奋!但是,我遇到了一个问题:我在GCE上托管集群,需要某种机制在两个POD(持续集成服务器和应用服务器)之间共享存储。对库伯内特斯来说,最好的方法是什么?所有的卷类型似乎都不适合我的需要,因为如果一个pod需要写入磁盘,GCE磁盘就不能共享。NFS将是完美的,但似乎需要kubernetes集群的特殊构建选项? 编辑

  • 首先,我开始库伯内特斯使用法兰绒与。 然后我重置所有并使用重新启动。 但是,接口 仍然是 这就是我清理的方式: 我在重置中遗漏了什么吗?

  • 我有一个简单的容器,它由安装在阿尔卑斯山上的OpenLDAP组成。它被安装为以非root用户身份运行。我能够使用我的本地Docker引擎运行容器而没有任何问题。但是,当我将其部署到我们的库伯内特斯系统时,它几乎立即被OOMKill杀死。我尝试在没有任何更改的情况下增加内存。我还查看了pod的内存使用情况,没有发现任何异常。 服务器启动为slapd-d debug-hldap://0.0.0.0:1