设计文档:
https://github.com/kubernetes/design-proposals-archive/blob/main/node/kubelet-cri-logging.md
https://kubernetes.io/docs/concepts/cluster-administration/logging/
当kubenet存放container的日志满了的时候,会发生rotate,当rotate发生的时候,是由kubectl logs 这个命令可能会出现以下两个问题:
https://github.com/kubernetes/kubernetes/issues/28369
这里说,当rotate发生的时候,kubectl logs 可能会停在那里,读不出新文件里的内容。
/usr/sbin/logrotate --force /etc/logrotate.conf ;; 这个方法不行,因为这个json.log 的rotate不受系统自动logrotate的控制。
可以使用这个方法将日志强制rotate,然后再开始抓日志,可以作为一个绕过问题的短暂方法。
还有一种可能是虽然不会停在那里,可能也会丢一些日志。这个怎么能debug是丢在哪里了呢?而且这个从应用程序到kubectl-logs这一路下来,经过了四五个process,看着非常的复杂,只能通过strace进行系统调用的分析,看到底丢在哪一个环节。根据上面哪个issue,去看,会发现kubenet有好多关于丢日志的情况发生,后续虽然有加强,但是仍然有丢日志的可能。文章来源:https://www.toymoban.com/news/detail-609020.html
文章来源地址https://www.toymoban.com/news/detail-609020.html
到了这里,关于k8s: kubectl: logs: rotate 问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!