• linux运维、架构之路-管理K8s组件日志


    一、日志分类

    1、K8S系统的组件日志

    journalctl -u kubelet

    2、K8S Cluster里面部署的应用程序日志

    • 标准输出
    • 日志文件
    kubectl logs nginx -n 命名空间

    3、容器标准输出路径

    /var/log/docker/containers/<container-id>/<container-id>-json.log

    4、查看容器标准输出日志

    kubectl logs <Pod名称>
    kubectl logs -f <Pod名称>
    kubectl logs -f <Pod名称> -c <容器名称>

    5、容器内应用日志路径

    /var/lib/kubelet/pods/<pod-id>/volumes/kubernetes.io~empty-dir/logs/access.log

    将日志文件通过数据卷挂载到宿主机目录,这样一来,就可以在宿主机上统一查看日志了

    apiVersion: v1
    kind: Pod
    metadata:
      name: my-pod
    spec:
      containers:
      - name: web
        image: yanxinjiang/nginx-php
        volumeMounts:
        - name: logs
          mountPath: /usr/local/nginx/logs
      volumes:
      - name: logs
        hostPath:
          path: /tmp/logs #日志挂载宿主机目录
          type: Directory

    二、日志统一采集方式

    • deamonset方式在每个节点部署一个日志采集pod完成对指定目录日志采集
    • sidecar在pod部署一个日志采集容器,通过数据卷共享业务容器日志目录
  • 相关阅读:
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    Python for Data Science
    软件工程实践总结
  • 原文地址:https://www.cnblogs.com/yanxinjiang/p/13982331.html
Copyright © 2020-2023  润新知