容器-汇总所有环境下的日志排查问题

​ 日常工作中经常需要排查问题,对于容器环境docker/containerd以及kubernetes环境都会有,所以这里汇总一下各种容器环境下的日志定位方便排查问题。

​ 日志分为控制台日志以及存储日志,存储日志那就看容器中的服务自身的读写哪个文件了,所以本文这里主要针对控制台的输出日志。

​ 容器引擎主要用到的是docker/containerd以及kubernetes,所以只整理这三种。

1. docker

查找容器

复制代码
#docker ps -a|grep myService

a. 查看容器标准输入输出控制台日志

复制代码
#docker logs myService

b. 查找控制台日志存储位置

复制代码
#docker inspect myService|grep LogPath
        "LogPath": "/data/docker/containers/479cb09a433fa67cc8c448b76cf731e3f4d986763bf16e5c47ea9590067723f5/479cb09a433fa67cc8c448b76cf731e3f4d986763bf16e5c47ea9590067723f5-json.log",
2. containerd

containerd的client工具主要使用的是 ctr和nerdctl,ctr 是containerd的官方client,nerdctl是containerd的类docker client,和使用docker一样

复制代码
#ctr container ls 
#ctr -n k8s.io container ls

#nerdctl ps -a
#nerdctl -n k8s.io ps -a

因为在ctr run的时候如果未指定 --log-uri的情况下默认没有控制台日志,所以没法像docker logs一样查看容器日志。当然如果指定了--log-uri则看容器LogPath即可。

3. kubernetes

因为日志是kubelet写的,所以和具体运行时无关,pod的日志在kubernetes源码中变量 podLogsRootDirectory 控制的,默认存储到了/var/log/pods下面,所以在该目录下查找即可

复制代码
#kubectl --kubeconfig /root/.kube/config-test -n my-ns logs agent-8rc8w 

# ll /var/log/pods/
total 92
drwxr-xr-x 3 root root 4096 Dec  4 20:52 cert-manager_cert-manager-webhook-59f9c4db6b-7m6hv_bc48d66a-8a34-48c7-bc58-8d964d744088
drwxr-xr-x 3 root root 4096 Dec  4 20:59 ingress-nginx_ingress-nginx-controller-fkgkd_6dd070cc-d072-4fd9-9b75-4b40d38115f2
drwxr-xr-x 3 root root 4096 Dec  4 21:01 kata-system_kata-deploy-mrkv4_82e51388-81ed-47a4-a300-5c25e583990e
相关推荐
Cx330❀12 小时前
【MySQL基础】一文吃透“表的约束”:从 Null/Default 到主外键的终极安全法则
linux·服务器·数据库·c++·mysql·安全
程序员JerrySUN12 小时前
Jetson 刷机深度解析:flash.sh vs l4t_initrd_flash.sh(含安全与磁盘加密对比)
linux·网络·arm开发·安全·系统安全
六点_dn13 小时前
Linux学习笔记-printf命令
linux·运维·算法
蜡台13 小时前
Linux Python 安装使用
linux·运维·服务器
欧神附体12313 小时前
在虚拟机中添加网卡,修改网卡名并关闭SElinux
linux·服务器·网络
张忠琳14 小时前
【kubernetes】Node Feature Discovery 0.20.0-devel 源码深度解析 — 第四卷:CLI入口、工具链与全局架构总结
云原生·容器·架构·kubernetes·nvidia
brave_zhao16 小时前
openEuler下安装tar包解压工具
linux·服务器·数据库
小宏运维有点菜16 小时前
JumpServer
linux·运维
是个西兰花16 小时前
Linux:死锁与生产者消费者模型解析
linux·运维·服务器·c++·死锁·生产者消费者模型
RisunJan17 小时前
Linux命令-rsync(远程/本地文件同步 —— 增量传输的备份与镜像神器)
linux·运维·服务器