Kubernetes CRD 方式配置容器日志采集最佳实践

一、概述
DataKit 通过 Kubernetes Custom Resource Definition (CRD) 提供了一种声明式的容器日志采集配置方式。用户可以通过创建 ClusterLoggingConfig 资源来自动配置 DataKit 的日志采集,无需手动修改 DataKit 配置文件或重启 DataKit,同样也无需重启业务。
二、前置条件
Kubernetes 集群版本 1.16+
DataKit Version-1.84.0 或更新版本
集群管理员权限(用于注册 CRD)
三、采集流程
1. 注册 Kubernetes CRD
使用以下 YAML 注册
ClusterLoggingConfigCRD:
创建 CRD 资源,自动应用采集配置
验证 CRD 注册
2. 创建 CRD 配置资源
如下为业务应用 yaml :
k8s 部署运行业务后如下:
对应采集配置如下,该采集配置用于采集 default 工作空间 demo 业务的容器内日志以及容器的标准输出,容器内日志来源 source 自定义命名为 demo-file,容器标准输出的 source 自定义命名为 demo-std,更多配置参考链接
应用配置
3. 添加相关 RBAC 配置
在 DataKit 的 ClusterRole 中添加以下权限:
调整 DataKit 的其他采集配置,如日志白名单,采集器,数据 dataway 上报地址等,重新 apply DataKit 应用
4. 额外配置与说明
需要全局屏蔽日志标准输出采集,需要额外应用自定义 CRD 配置,如下:
DataKit 需要打开 container 采集器,不然 CRD 配置不生效
四、日志采集展示
容器内日志如下图,数据成功上报到观测云,相关 source,log_type,component 等配置字段均成功上报
容器标准输出如下图,据成功上报到观测云,相关 source,log_type。component 等配置字段均成功上报







评论