• K8s日志类型综述


    日志类型综述

    一、容器标准输出格式

    容器引擎捕获了容器stdout和stderr,为每一行附加时间戳和来源并格式化之后写入宿主机的某个文件。

    容器引擎docker:

    {"log":"I0610 08:29:07.698664 Waiting for caches to sync\n", "stream":"stderr", "time:"2021-06-10T08:29:07.698731204Z"}

    容器引擎containerd:

    2021-12-01T03:13:58.298476921Z stderr F INFO [main] Starting service [Catalina]

    二、容器日志在宿主机真实路径

    stdout:

        - /var/log/pods/default_stdtest-55f6455bb6-gmk6q_7032a5f3-b7cb-4c87-8599-3e7d7cef0057/stdtest-stdout/*.log

    emptyDir:

    /var/lib/kubelet/pods/7032a5f3-b7cb-4c87-8599-3e7d7cef0057/volumes/kubernetes.io~empty-dir/cache/test.log

    hostpath:

    /hostdir/log/default/stdtest-55f6455bb6-gmk6q/test-hostpath.log

    rootfs:

    /var/lib/docker/overlay2/19b25ba2930090ce7f4f6190d81aca68b2d8fb20e3f212e93fe331ffc6845fd0/merged/var/log/test.log

    三、POD崩溃与对日志类型的影响

    emptyDir

    以容器stdtest-empty-5487d59689-8l65n为例子:

    在cache下写入日志

    echo dusaihduasihdua >> /cache/test.log

    我们 让容器崩溃

    kill -11 1

    再次进入容器

    1. root@stdtest-empty-5487d59689-8l65n:/# cat /cache/test.log
    2. dusaihduasihdua

    文件依旧存在,当我们删除掉emptyDir的pod

    1. root@stdtest-empty-5487d59689-fbw9s:/# ls /cache/
    2. test-empty.log

    test.log消失,也就是说容器崩溃emptyDir文件不会消失,但是如果容器滚动volume会丢失

    HostPath

    在cache下写入日志

    echo dusaihduasihdua >> /cache/test.log

    我们 让容器崩溃

    kill -11 1

    再次进入容器

    1. root@stdtest-empty-5487d59689-8l65n:/# cat /cache/test.log
    2. dusaihduasihdua

    文件依旧存在

    我们删除pod

    1. root@stdtest-host-5f5bd886b5-9wgbt:/# cat /cache/test.log
    2. dusaihduasihdua

    文件依旧会存在

    结论

    Deployment 升级

    Deployment 扩缩容

    DaemonSet更新

    Statefulset更新

    pod崩溃

    pod的uid是否变化

    旧有的pod uid不变,新增的pod是新的uid

    stdout

    emptydir

    hostpath

    hostpath-subPathExpr

    rootfs

    pod的uid变化时是否会删除掉日志文件

    容器崩溃重启后是否会删除掉日志文件

  • 相关阅读:
    csp非零段划分
    用 Kafka + DolphinDB 实时计算K线
    Rainbond结合NeuVector实践容器安全管理
    Docker笔记-08 Docker BuildKit
    dp秒杀优惠券
    OOM异常类型总结
    分布式事务-Seata
    快学会这个技能-.NET API拦截技法
    5分钟搭建图片压缩应用
    unity中方向的两种表示:欧拉角和四元数
  • 原文地址:https://blog.csdn.net/qq_32783703/article/details/126705072