tencent cloud

文档反馈

tke-log-agent 说明

最后更新时间:2024-02-05 16:10:52

    简介

    组件介绍

    tke-log-agent 是 Kubernetes 集群日志采集组件,用户可非侵入式采集容器标准输出日志、容器内日志以及节点日志。

    部署在集群内的资源对象

    kubernetes对象名称
    类型
    资源量
    Namespace
    tke-log-agent
    Daemonset
    0.21C126M
    kube-system
    cls-provisioner
    Deployment
    0.1C64M
    kube-system
    logconfigs.cls.cloud.tencent.com
    CustomResourceDefinition
    -
    -
    cls-provisioner
    ClusterRole
    -
    -
    cls-provisioner
    ClusterRoleBinding
    -
    -
    cls-provisioner
    ServiceAccount
    -
    kube-system
    tke-log-agent
    ClusterRole
    -
    -
    tke-log-agent
    ClusterRoleBinding
    -
    -
    tke-log-agent
    ServiceAccount
    -
    kube-system

    使用场景

    独立集群开启审计日志采集时,默认安装 tke-log-agent 并采集 apiserver 审计日志。
    通过采集规则采集容器标准输出日志、容器内日志、节点日志。

    组件原理

    1. cls-provisioner 监听到用户创建了采集规则后,根据采集规则的配置信息,生成 CLS 侧采集配置同步到 CLS 侧服务端。
    2. tke-log-agent 根据采集规则,映射日志目录到统一目录下。
    3. loglistener 同步 CLS 服务端采集配置,并根据采集配置采集日志上报到 CLS 侧。

    组件权限说明

    说明:
    权限场景章节中仅列举了组件核心功能涉及到的相关权限,完整权限列表请参考权限定义章节。

    log-agent 权限

    权限说明

    该组件权限是当前功能实现的最小权限依赖。
    只有开启了日志采集的标准集群会部署该组件,其他类型集群不会部署。
    需要在主机目录下读写 metadata 文件,所以需要开启特权级容器。

    权限场景

    功能
    涉及对象
    涉及操作权限
    监听日志采集规则的变动
    logconfig/logconfigpro
    watch/patch/get
    获取节点的 runtime 类型
    node
    list/watch/get
    采集标准输出日志/容器内日志时需要采集特定 namespace 下的 pod 日志
    namespace/pod
    list/watch/get
    采集容器内日志采集时需要获取容器日志的实际存储路径
    PV/PVC
    list/watch/get
    SC
    get
    采集 workload 相关日志
    工作负载
    list/watch/get

    权限定义

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
    name: tke-log-agent
    rules:
    - apiGroups: ["cls.cloud.tencent.com"]
    resources: ["logconfigs","logconfigpros"]
    verbs: ["list", "watch", "patch","get"]
    - apiGroups: [""]
    resources: ["pods", "namespaces", "nodes", "persistentvolumeclaims","configmaps","persistentvolumes"]
    verbs: ["list", "watch", "get"]
    - apiGroups: ["apps"]
    resources: ["daemonsets","replicasets","deployments","statefulsets"]
    verbs: ["list", "watch", "get"]
    - apiGroups: ["batch"]
    resources: ["jobs","cronjobs"]
    verbs: ["list", "watch", "get"]
    - apiGroups: ["storage.k8s.io"]
    resources: ["storageclasses"]
    verbs: ["get"]

    cls-provisioner 权限

    权限说明

    该组件权限是当前功能实现的最小权限依赖。

    权限场景

    功能
    涉及对象
    涉及操作权限
    把 log config 的规则内容同步到 CLS 侧
    logconfig
    list/watch/patch/update

    权限定义

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
    name: cls-provisioner
    rules:
    - apiGroups:
    - cls.cloud.tencent.com
    resources:
    - logconfigs
    verbs:
    - list
    - watch
    - patch
    - update
    - apiGroups:
    - '*'
    resources:
    - events
    - configmaps
    verbs:
    - create
    - patch
    - update

    相关链接

    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持