k8s filebeat 应用日志搜集

方案:

采用node上部署filebeat,并监控node上的日志记录,应用pod的日志文件它通过磁盘挂载将其输出到node的本地filbeat监控目录上。

实施:

filebeat使用daemonSet(见附录)进行构建:

【k8s】【ELK】【二】基于节点DaemonSet运行日志Agent实践_k8s elk daemonsets方案-CSDN博客

需要结合实际场景配置filebeat.yaml

附录:

daemonset与deployment的区别:

Kubernetes (K8S) 的 DaemonsetDeployment 是两种常用的控制器对象,它们在不同的场景下有不同的特点和用途。

  1. Deployment(部署):

    • 主要用于管理无状态的应用程序,如Web服务和API服务。
    • 通过ReplicaSet实现副本管理,确保指定数量的Pod副本正在运行,并处理Pod的创建、删除和更新。
    • 支持应用程序的复制、自动扩展、滚动升级等功能。
    • 使用Desired State来管理Pod的副本数量,并确保实际运行的Pod副本与期望状态保持一致。
  2. DaemonSet(守护进程集合):

    • 用于在Kubernetes集群的每个节点上运行一个Pod副本,确保每个节点上都有一个Pod的副本在运行。
    • 不关心副本数量,而是关注集群中的每个节点。
    • 当新节点加入集群时,DaemonSet会自动在新节点上创建Pod副本;当节点从集群中删除时,相应的Pod副本也会被删除。
    • 通常用于运行需要在每个节点上运行的系统级别服务,如日志收集器、监视代理和网络代理等。

总结来说,DaemonSet和Deployment的主要区别在于:

  • DaemonSet 只关心每个节点上的Pod副本数,而不管Pod的总数。
  • Deployment 更注重于管理Pod的副本数量以及Pod实例的健康状况,以满足应用程序的需求。

因此,DaemonSet适合那些需要在每个节点上都运行相同服务的场景,而Deployment则更适合那些需要动态调整Pod副本数的无状态应用和服务。

相关推荐
柳如烟@21 分钟前
Docker安装ES :确保 Kibana 正确连接 Elasticsearch
运维·数据库·elasticsearch·docker·容器·kibana
weisian15134 分钟前
云原生--核心组件-容器篇-2-认识下Docker(三大核心之镜像,容器,仓库)
docker·云原生·容器
陈奕昆1 小时前
6.1腾讯技术岗2025面试趋势前瞻:大模型、云原生与安全隐私新动向
算法·安全·云原生·面试·腾讯
孔令飞2 小时前
Go 1.24 中的弱指针包 weak 使用介绍
人工智能·云原生·go
weisian1512 小时前
云原生--核心组件-容器篇-3-Docker核心之-镜像
docker·云原生·容器
掉头发的王富贵3 小时前
作为开发者,看完这篇文章就可以快速上手Kubernetes了
后端·容器·kubernetes
梁萌3 小时前
14-DevOps-快速部署Kubernetes
运维·kubernetes·k8s·devops·kubeode
南客先生3 小时前
Java在云计算、大数据、云原生下的应用和优势 - 面试实战
java·大数据·微服务·云原生·云计算·容器化·分布式计算
潘多编程4 小时前
Spring Boot 3.4 实战指南:从性能优化到云原生增强
spring boot·云原生·性能优化
大米☋5 小时前
Docker-高级使用
linux·运维·docker·容器·centos