如果一个容器崩溃了、一个Pod被驱逐了、或者一个节点停机了,您通常仍然需要访问您应用程序的日志。为此,您需要一个生命周期与节点、Pod、容器相对独立的存储空间来存储应用程序日志和系统日志。
此时,我们引入了一个新的概念:集群级别的日志 cluster-level-logging。
集群级别的日志需要一个独立的后端,用于存储、分析、查询日志。Kubernetes默认不提供存储日志信息的方案。
如果容器已经崩溃停止,可以仍然使用 kubectl logs --previous
获取该容器的日志,只不过需要添加参数 --previous
。 如果 Pod 中包含多个容器,而想要看其中某一个容器的日志,那么请在命令的最后增加容器名字作为参数。
常用的日志命令示例如下:
# 追踪名称空间 nsA 下容器组 pod1 的日志
kubectl logs -f pod1 -n nsA
# 追踪名称空间 nsA 下容器组 pod1 中容器 container1 的日志
kubectl logs -f pod1 -c container1 -n nsA
# 查看容器组 nginx 下所有容器的日志
kubectl logs nginx --all-containers=true
# 查看带有 app=nginx 标签的所有容器组所有容器的日志
kubectl logs -l app=nginx --all-containers=true
# 查看容器组 nginx 最近20行日志
kubectl logs --tail=20 nginx
# 查看容器组 nginx 过去1个小时的日志
kubectl logs --since=1h nginx
手机扫一扫
移动阅读更方便
你可能感兴趣的文章