k8s日志架构和基本日志
阅读原文时间:2023年07月08日阅读:2

如果一个容器崩溃了、一个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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器