我正在运行kubernetes。 有许多终止 pod。 虚拟机中有很多 crond 守护进程。 /var/log/messages 和/var/log/crond 都是空的。
不知道为什么crond守护进程出现这么多?
500 个 Crond 守护进程正在执行。
ps -ef | grep crond | grep crond | grep crond | grep crond厕所-l
648
平均负载为 16
我想知道 crond 和终止于 kubernetes 的 pod 之间的关系。
我如何确定? 我检查了/etc/rsyslog.conf - 这是正常的。
最佳答案
默认cron
将程序输出通过电子邮件发送给拥有特定 crontab
的用户,因此您可以检查是否有任何电子邮件已在默认路径 /var/spool/mail
内发送。 .
当您有一个长时间运行或连续的脚本,且永远无法在 cron
中完成时,它可以产生多个cron
进程出现在进程列表中,因此获取带有“crontab 特定父/子进程的 TreeView ”的列表可能很有用:
pstree -ap| grep crond
我假设您的虚拟机上的 CPU 使用率很高,这可能会降低整体性能并影响 Kubernetes 引擎。虽然,Kubernetes提供了一套完善的管理机制Compute resources ,它会分配 Pod 中特定节点上分配的资源,这些资源消耗该节点上的 CPU 和 RAM。
要检查特定节点上的一般资源利用率,您可以使用以下命令:
kubectl describe node <node-name>
要检查 Pod 终止原因,您可以使用与上例类似的命令:
kubectl describe pod <pod_name>
但是,当您需要深入了解 Kubernetes 集群上的故障排除操作时,我建议您查看官方 Guide 。
关于linux - kubernetes 和 cron 之间的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54641994/