全部产品
Search
文档中心

日志服务:使用CR实例管理采集配置

更新时间:Aug 26, 2026

CRD(CustomResourceDefinition)允许用户定义自定义资源类型,日志服务利用CRD定义了自己的资源类型,您可以通过创建CR(CustomResource)实例来管理采集配置。本文主要介绍日志服务的两类CRD(AliyunPipelineConfig和AliyunLogConfig)的区别和优势。

背景信息

CRD全称为“CustomResourceDefinition”,是Kubernetes(k8s)的一种API对象,允许用户定义自定义资源类型。通过CRD,用户可以扩展Kubernetes原生的API,以满足特定的应用场景需求。CR即“CustomResource”,是基于CRD定义的资源类型创建的具体的实例。

日志服务定义了自己的CRD,并支持通过CR来管理Logtail采集配置。您需要连接Kubernetes集群,并额外使用Kubernetes鉴权。然后向kube-apiserver提交YAML配置文件来创建资源,从而创建相应的Logtail采集配置。

警告

通过CR创建的配置,在控制台上对其修改不会同步到CR中。因此,如需修改由CR创建的配置内容,只能修改CR实例,禁止直接在控制台操作,避免配置不一致。

通过CR管理Logtail采集配置的工作原理

image
  1. 日志服务通过Deployment部署了一个控制器alibaba-log-controller,该控制器负责监听 AliyunLogConfig 资源的变化。

  2. 当用户通过kubectl或其他Kubernetes管理工具创建、更新或删除AliyunLogConfig资源时,alibaba-log-controller会监测到这些变化,然后根据资源配置文件中的内容和服务端Logtail采集配置的状态,自动向日志服务提交各种请求,如采集配置变更等。

CRD类型

警告

使用AliyunPipelineConfig,需要日志组件版本最低为0.5.1。

为了便于通过云原生方式管理Logtail采集配置,日志服务定义了两类CRD,它们的能力与区别见下表:

类型

AliyunPipelineConfig(推荐使用)

AliyunLogConfig

ApiGroup

telemetry.alibabacloud.com/v1alpha1

log.alibabacloud.com/v1alpha1

CRD资源名

ClusterAliyunPipelineConfig

AliyunLogConfig

作用域

集群

命名空间

采集配置格式

基本等价于日志服务API中的LogtailPipelineConfig

基本等价于日志服务API中的LogtailConfig

跨地域能力

支持

支持

跨账号能力

支持

支持

Webhook校验参数

支持

不支持

配置冲突检测

支持

日志组件0.5以上版本支持

配置难度

较低

较高

配置可观测性

Status包含错误详情、更新时间、上次应用成功配置、上次应用成功时间等信息

Status包含错误码与错误信息

CRD 删除后 404 报错排查

创建或更新采集配置时,如果报错no matches for kind "ClusterAliyunPipelineConfig"the server could not find the requested resource,可能是ClusterAliyunPipelineConfig CRD 被误删。

排查步骤

  1. 确认 CRD 是否存在:

    kubectl get crd | grep ClusterAliyunPipelineConfig

    如果无输出,说明 CRD 已被删除。

  2. 重新部署 LoongCollector 以恢复 CRD:

    helm upgrade loongcollector loongcollector/loongcollector -n kube-system --reuse-values

    或直接应用 CRD YAML:

    kubectl apply -f crd.yaml
  3. 验证 CRD 已恢复:

    kubectl get crd | grep ClusterAliyunPipelineConfig
  4. 验证采集配置可正常创建:

    kubectl apply -f your-pipeline-config.yaml
说明

CRD 由 Helm chart 的crds目录管理,重启loongcollector-operator不会重建 CRD,需通过helm upgradekubectl apply恢复。删除 CRD 会同时删除所有已存在的ClusterAliyunPipelineConfig资源。