前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【超级节点】使用 DS 注入能力收集容器业务日志示例

【超级节点】使用 DS 注入能力收集容器业务日志示例

原创
作者头像
Jokey
修改2024-08-30 17:05:18
1101
修改2024-08-30 17:05:18
举报
文章被收录于专栏:云原生搬运工

使用背景:

想要使用 filebeat 等第三方日志收集工具采集业务容器日志, 如何将业务容器的日志暴露给 filebeat ,可以通过超级节点注入 Daemonset 容器实现, 这里给出一个最小挂载配置的示例 YAML 供参考(注意日志收集逻辑需要业务自行配置)。

注入能力版本要求:

挂载示例:

代码语言:yaml
复制
apiVersion: apps/v1
kind: DaemonSet
metadata:
  labels:
    k8s-app: filebeat
  name: filebeat
  namespace: kube-system
spec:
  selector:
    matchLabels:
      k8s-app: filebeat
  template:
    metadata:
      annotations:
        eks.tke.cloud.tencent.com/ds-injection: "true"
      labels:
        k8s-app: filebeat
    spec:
      containers:
      - name: filebeat
        image: filebeat:8.0.0
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - mountPath: /var/log/containers
          name: containers-log
          readOnly: true
        - mountPath: /var/log/pods
          name: pods-log
          readOnly: true
      volumes:
      - hostPath:
          path: /var/log/pods # 需确保 pods 标准输出日志的真实文件目录被挂载,要不然无法获取日志。
          type: ""
        name: pods-log
      - hostPath:
          path: /var/log/containers # 挂载容器日志的软链目录
          type: ""
        name: containers-log
      tolerations:
      - key: eks.tke.cloud.tencent.com/eklet
        operator: Exists
        effect: NoSchedule

使用说明:

本示例 filebeat 感知的收集目录格式为/var/log/containers/<pod_name>_<namespace>_<container_name>-<container_id>.log

,可登陆容器查看相关目录文件是否可以获取容器日志:

代码语言:txt
复制
cat  /var/log/containers/<pod_name>_<namespace>_<container_name>-<container_id>.log

注意如果登陆或查看注入容器报错 “container xxx is not valid for pod xxx” ,请使用官网文档描述的 kubectl 版本(linux 版本),下载命令:curl -LO "https://dl.k8s.io/release/v1.16.0/bin/linux/amd64/kubectl"

参考文档:

超级节点 Daemonset 注入:https://cloud.tencent.com/document/product/457/98730

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用背景:
  • 注入能力版本要求:
  • 挂载示例:
  • 使用说明:
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档