全部產品
Search
文件中心

Simple Log Service:使用CR執行個體管理採集配置

更新時間:Jul 23, 2024

CRD(CustomResourceDefinition)允許使用者定義自訂資源類型,Log Service利用CRD定義了自己的資源類型,您可以通過建立CR(CustomResource)執行個體來管理採集配置。本文主要介紹Log Service的兩類CRD(AliyunPipelineConfig和AliyunLogConfig)的區別和優勢。

背景資訊

CRD全稱為“CustomResourceDefinition”,是Kubernetes(k8s)的一種API對象,允許使用者定義自訂資源類型。通過CRD,使用者可以擴充Kubernetes原生的API,以滿足特定的應用情境需求。CR即“CustomResource”,是基於CRD定義的資源類型建立的具體的執行個體。

Log Service定義了自己的CRD,並支援通過CR來管理Logtail採集配置。您需要串連Kubernetes叢集,並額外使用Kubernetes鑒權。然後向kube-apiserver提交YAML設定檔來建立資源,從而建立相應的Logtail採集配置。

警告

通過CR建立的配置,在控制台上對其修改不會同步到CR中。因此,如需修改由CR建立的配置內容,只能修改CR執行個體,禁止直接在控制台操作,避免配置不一致。

通過CR管理Logtail採集配置的工作原理

  1. Log Service通過Deployment部署了一個控制器alibaba-log-controller,該控制器負責監聽 AliyunLogConfig 資源的變化。

  2. 當使用者通過kubectl或其他Kubernetes管理工具建立、更新或刪除AliyunLogConfig資源時,alibaba-log-controller會監測到這些變化,然後根據資源設定檔中的內容和服務端Logtail採集配置的狀態,自動向Log Service提交各種請求,如採集配置變更等。

CRD類型

為了便於通過雲原生方式管理Logtail採集配置,Log Service定義了兩類CRD,它們的能力與區別見下表:

類型

AliyunPipelineConfig(推薦使用)

AliyunLogConfig

ApiGroup

telemetry.alibabacloud.com/v1alpha1

log.alibabacloud.com/v1alpha1

CRD資源名

ClusterAliyunPipelineConfig

AliyunLogConfig

範圍

叢集

命名空間

採集配置格式

基本等價於Log ServiceAPI中的LogtailPipelineConfig

基本等價於Log ServiceAPI中的LogtailConfig

跨地區能力

支援

支援

跨帳號能力

支援

支援

Webhook校正參數

支援

不支援

配置衝突檢測

支援

不支援

配置難度

較低

較高

配置可觀測性

Status包含錯誤詳情、更新時間、上次應用成功配置、上次應用成功時間等資訊

Status包含錯誤碼與錯誤資訊