往期精彩文章 :
- 提升CKA考试胜算:一文带你全面了解RBAC权限控制!
- 揭秘高效运维:如何用kubectl top命令实时监控K8s资源使用情况?
- CKA认证必备:掌握k8s网络策略的关键要点
- 提高CKA认证成功率,CKA真题中的节点维护全攻略!
- 数据无忧,一学就会:掌握CKA认证必备的etcd备份与还原秘籍!
- 提升你的云技能:深入了解CKA认证之k8s升级秘籍!
- 揭秘CKA认证:Service四层代理的神秘面纱
- 提升CKA认证成功率:Kubernetes Ingress七层代理全攻略!
- CKA考生注意:这些Deployment要点能助你一臂之力!
- 从NodeSelector到NodeAffinity:探索Kubernetes节点亲和性的进化之路
- 提升CKA考试效率:精准统计Ready状态Node节点的实用攻略
- CKA考试必备:解锁Pod封装多容器的高级技巧!
- PV与PVC知多少?解锁CKA认证考点攻略!
Kubernetes(K8S)是一个流行的容器编排平台,它提供了一种方便的方式来管理和监控容器化应用程序。在K8S中,Pod是最小的可部署单元,它通常由一个或多个容器组成。
在Kubernetes中,可以通过kubectl命令行工具来收集Pod日志。kubectl是Kubernetes的命令行客户端,它允许用户与Kubernetes集群进行交互。
日志收集的价值:
- 日志查询、问题排查、故障恢复和故障自愈
- 应用日志分析,错误报警
- 性能分析,用户行为分析
k8s常用的日志收集方式:
- 在节点上进行收集,基于daemonset部署日志收集容器,实现json-file类型(标准输出/dev/stdout,错误输出/dev/stderr)日志收集
- 使用sidecar容器收集当前Pod内一个或多个业务容器的日志,通常基于emptyDir实现业务容器与sidecar容器之间的日志共享
- 在容器内内置日志收集进程
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
。
官方参考文档
做题解答
- 切换K8S集群环境
kubectl config use-context k8s
- 查看Pod为fobar的日志,过滤
unable-access-website
信息的行,并写入到指定的文件中
kubectl logs foobar | grep unable-access-website > /opt/KUTR00101/foobar