CKA备考攻略:掌握Pod日志收集,事半功倍的秘诀!

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
可观测可视化 Grafana 版,10个用户账号 1个月
简介: CKA备考攻略:掌握Pod日志收集,事半功倍的秘诀!

往期精彩文章 :

Kubernetes(K8S)是一个流行的容器编排平台,它提供了一种方便的方式来管理和监控容器化应用程序。在K8S中,Pod是最小的可部署单元,它通常由一个或多个容器组成。

在Kubernetes中,可以通过kubectl命令行工具来收集Pod日志。kubectl是Kubernetes的命令行客户端,它允许用户与Kubernetes集群进行交互。

日志收集的价值:

  • 日志查询、问题排查、故障恢复和故障自愈
  • 应用日志分析,错误报警
  • 性能分析,用户行为分析

k8s常用的日志收集方式:

  1. 在节点上进行收集,基于daemonset部署日志收集容器,实现json-file类型(标准输出/dev/stdout,错误输出/dev/stderr)日志收集
  2. 使用sidecar容器收集当前Pod内一个或多个业务容器的日志,通常基于emptyDir实现业务容器与sidecar容器之间的日志共享
  3. 在容器内内置日志收集进程

kubectl logs的基本使用

要收集Pod日志,可以使用以下命令:

kubectl logs <pod_name>

其中<pod_name>是要收集日志的Pod的名称。执行此命令后,将显示指定Pod的日志输出。

如果Pod中有多个容器,并且你想收集特定容器的日志,可以使用以下命令:

kubectl logs <pod_name> -c <container_name>

其中<container_name>是要收集日志的容器的名称。

除了基本的日志收集功能外,kubectl还提供了其他选项来定制日志输出。例如,你可以使用--tail选项来指定要显示的日志行数:

kubectl logs --tail=100 <pod_name>

这将显示最近的100行日志。

另外,你还可以使用--since选项来指定要显示的日志的时间范围:

kubectl logs --since=1h <pod_name>

这将显示过去一小时内的日志。

通过这些命令和选项,你可以方便地收集和管理Kubernetes中的Pod日志。

CKA真题

真题截图

中文解析

切换 k8s 集群环境:kubectl config use-context k8s

Task

监控名为foobar的Pod的日志,并过滤出具有unable-access-website信息的行,然后将写入到 /opt/KUTR00101/foobar

官方参考文档

命令行工具 (kubectl)

做题解答

  1. 切换K8S集群环境
kubectl config use-context k8s
  1. 查看Pod为fobar的日志,过滤unable-access-website信息的行,并写入到指定的文件中
kubectl logs foobar | grep unable-access-website > /opt/KUTR00101/foobar
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
5天前
|
Kubernetes Perl 容器
K8s查看集群 状态事件描述以及Pod日志信息
K8s查看集群 状态事件描述以及Pod日志信息
55 3
|
5天前
|
Kubernetes 监控 容器
k8s学习-CKA真题-监控Pod日志
k8s学习-CKA真题-监控Pod日志
79 0
|
5天前
|
Kubernetes Perl 容器
【CKA模拟题】过滤Pod错误日志
【CKA模拟题】过滤Pod错误日志
15 1
|
5天前
|
Kubernetes 监控 Shell
【CKA模拟题】如何优雅地融合Pod日志与ConfigMap
【CKA模拟题】如何优雅地融合Pod日志与ConfigMap
17 0
|
5天前
|
Kubernetes Perl 容器
【CKA模拟题】掌握Pod日志输出的秘密
【CKA模拟题】掌握Pod日志输出的秘密
20 0
|
10月前
|
Linux Shell Docker
chatgpt Linux 定时任务 清理rancher pod启动服务的日志文件 脚本
chatgpt Linux 定时任务 清理rancher pod启动服务的日志文件 脚本
|
12月前
|
Prometheus Kubernetes 监控
当 Pod 崩溃后如何在报警信息中获取对应的日志信息?
当 Pod 崩溃后如何在报警信息中获取对应的日志信息?
|
消息中间件 编解码 JSON
|
Perl 存储 容器
挂载失败-日志中显示僵尸pod的问题
当节点出现pod挂载不上,且查看节点日志(/var/log/message)发现不断有“Orphaned pod”字段的日志打印出来,如下: Jan 21 03:07:08 abc_k8s_worker01 kubelet: E0121 03:07:08.
|
监控 应用服务中间件 容器
如何通过Log-Pilot来采集Kubernetes Pod日志
本文主要跟大家分享下如何通过Log-Pilot来配置采集Kubernetes集群中Pod的日志。
7681 0