日志服务支持通过 CRD 方式创建容器日志的采集配置,本文档介绍 LogCollector CRD 的工作原理。
除控制台方式之外,日志服务还提供 LogCollector CRD 方式快速创建 LogCollector 采集配置。LogCollector CRD 可以通过声明方式定义和管理日志服务资源,以类似 CRD 方式管理 Kubernetes 资源。您可以在 YAML 文件中定义日志服务资源,并通过 kubectl apply
命令来创建或更新已定义的资源,日志服务会根据指令自动创建和更新日志项目、日志主题、机器组或采集配置。
LogCollector CRD 方式创建采集配置的操作简单便捷,可快速批量创建多个采集配置,但需要一定的工具学习成本,且要求您熟悉 Kubernetes 和 CRD,适用于 Kubernetes 的高阶用户。
概念 | 说明 |
---|---|
LogCollector CRD | LogCollector CRD 是火山引擎日志服务提供的 Kubernetes 资源定义,其对应的定制资源为 LogCollector CR。在 Kubernetes 集群中定义并应用 LogCollector CRD,可使 LogCollector CR 在对应的集群可用。 |
LogCollector CR | LogCollector CR 是由 LogCollector CRD 定义的资源实例。您可以使用 kubectl 命令行工具来创建、删除或查询 LogCollector CR,以此管理 LogCollector 采集配置,例如通过创建 LogCollector CR 来创建一个 LogCollector 采集配置。 |
LogCollector Controller | LogCollector Controller 的主要作用是监控 Kubernetes 集群的 LogCollector CR 状态并执行相应的操作。例如,当 LogCollector Controller 监控到新的 LogCollector CR 时,会自动创建该 CR 中定义的采集配置;当 LogCollector Controller 监控到有 LogCollector CR 被删除时,也会自动删除该 CR 对应的采集配置。 |
通过 LogCollector CRD 方式采集容器日志的内部流程如下:
kubectl
命令创建 LogCollector CRD 和 LogCollector CR。