容器服务 tke-log-agent 说明

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 侧,详情请参见 LogListener。

四、组件权限说明

注意:说明:

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

五、权限说明

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

·只有开启了日志采集的标准集群会部署该组件,其他类型集群不会部署。

·需要在主机目录下读写 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/v1kind: ClusterRolemetadata: name: tke-log-agentrules: – 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"]

八、权限说明

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

九、权限场景

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

十、权限定义

apiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: name: cls-provisionerrules:- apiGroups: – cls.cloud.tencent.com resources: – logconfigs verbs: – list – watch – patch – update- apiGroups: – '*' resources: – events – configmaps verbs: – create – patch – update

十一、相关链接

·开启日志采集

·通过 YAML 配置日志采集

·使用 CRD 采集日志到 Kafka

赞 (0)
上一篇 4天前
下一篇 4天前