在云原生时代,通过控制台手动管理 iLogtail 采集配置存在明显不足,主要原因如下:
- 自动化需求:每次发布都需要手动在控制台修改一批采集配置,操作繁琐且容易出错。
- 灵活扩展:需要一种不与业务耦合的配置管理方式,支持灵活扩展。
- 集中管理:需要集中管理和监控所有采集配置,简化运维操作。
- 自动化部署:需要方便集成 CI/CD 流水线,降低部署难度。
在 Kubernetes 环境中,CRD(Custom Resource Definition)是扩展 K8s API 的方法,允许用户定义和管理自定义资源。使用 CRD 管理采集配置的好处包括:
- 将采集配置作为 Kubernetes 对象管理,与 Pod、Service、Deployment 等资源保持一致。
- 可以利用 kubectl 等标准工具进行管理。
- 支持 GitOps 等自动化部署模式。
- 配置变更可追溯,支持版本管理。
iLogtail 采集配置定义了数据的输入、处理、输出流水线,通过 CRD 管理可以实现声明式、自动化的采集配置管理。