You need to enable JavaScript to run this app.
文档中心
日志服务

日志服务

复制全文
下载 pdf
安装与升级(Linux)
安装 LogCollector CRD
复制全文
下载 pdf
安装 LogCollector CRD
通过 DaemonSet 或 Sidecar 方式采集日志时,均可以通过 LogCollector CRD 方式创建采集配置。本文档介绍在 Kubernetes 集群中安装 LogCollector CRD 的操作步骤。​
背景信息​
通过 LogCollector CRD 方式创建采集配置时,在 Kubernetes 集群中安装 LogCollector 后,还需安装 LogCollector CRD。LogCollector CRD 安装过程中,主要完成以下步骤:​
  1. 安装 LogCollectorRule CRD。​
  1. 安装 LogCollector Controller。​
  1. 配置 ServiceAccount、ClusterRole 和 ClusterRoleBinding,完成 LogCollector Controller 的认证和授权。​
  1. 创建 LogCollector Controller 的 ConfigMap。​
  1. 创建 LogCollector Controller Deployment。​
前提条件​
  • 已创建 IAM 用户,获取 Access Key ID、Secret Access Key。并至少为用户授予日志服务(TLS)采集预置策略TLSLogCollectorAccess权限策略,权限详情可参考 IAM 概述。​
Helm 安装方式​
说明​
已安装 Helm 3 客户端(3.7 之后版本)。具体操作,请参考Helm。​
1 下载 LogCollector Controller Chart 包​
登录待安装 LogCollector Controller 的 Kubernetes 集群,然后根据集群所在地域,执行对应的下载命令,将 LogCollector Controller Chart 安装包下载到指定目录下。​
​
helm pull oci://logcollector-<Region ID>.cr.volces.com/logcollector-controller/logcollector-controller --version 0.1.0​
​
说明​
  • Region ID:请替换为实际环境对应地域的 ID,如华北2(北京)地域为cn-beijing。支持的地域请参考服务地址列表。​
  • --version 0.1.0:用于获取 LogCollector Controller chart 的参数,固定值。​
  • LogCollector 版本:以部署 LogCollector Controller Chart 命令中的image参数对应的 LogCollector 镜像为准,默认获取最新版本 LogCollector。​
2 部署 LogCollector Controller Chart 包​
执行以下命令部署 LogCollector Controller Chart 包。​
​
helm install logcollector-controller logcollector-controller-0.1.0.tgz \​
--namespace={namespace} \​
--set region={region} \​
--set endpoint={endpoint} \​
--set secret_id={secret_id} \​
--set secret_key={secret_key} \​
--set image={image}​
​
其中,region、endpoint、secret_id、secret_key、image为必选参数,详细说明如下。​
​
参数​
是否必选​
示例​
说明​
region​
必选​
cn-beijing​
日志项目所在的地域 ID。详细说明请参考服务地址。​
endpoint​
必选​
https://tls-cn-beijing.volces.com​
​
日志服务连接域名,即服务地址。​
登录日志服务控制台后,您可以在日志项目的详情页中查看连接域名。详细说明请参考服务地址。​
secret_id​
必选​
AK********​
火山引擎账号或 IAM 用户的 Access Key ID。​
您可以在火山引擎控制台密钥管理页面,获取 Access Key ID。​
secret_key​
必选​
TUdZ********​
火山引擎账号或 IAM 用户的 Secret Access Key。​
您可以在火山引擎控制台密钥管理页面,获取 Secret Access Key。​
namespace​
必选​
kube-system​
LogCollector Controller 命名空间。​
命名空间必须已存在,如果命名空间不存在,将部署失败。​
image​
必选​
logcollector-cn-beijing.cr.volces.com/logcollector-controller/logcollector-controller:latest​
LogCollector Controller 的镜像地址。最新版本镜像地址请参考 LogCollector Controller 镜像地址。​
​
注意​
  • 如果报错 Error: INSTALLATION FAILED: Unable to continue with install: CustomResourceDefinition "collectrules.logging.vke.volcengine.com" in namespace、exists and cannot be imported into the current release……,说明已经安装了与 collectrules.logging.vke.volcengine.com 同名的 CustomResourceDefinition,即需要执行 kubectl delete crd collectrules.logging.vke.volcengine.com 命令删除 CustomResourceDefinition。​
  • 如果报错 Error: INSTALLATION FAILED: Unable to continue with install: ClusterRole "logcollector-controller" in namespace、exists and cannot be imported into the current release……,说明已经安装了与 logcollector-controller 同名的 ClusterRole,即需要执行 kubectl delete clusterrole logcollector-controller 命令先删除 ClusterRole。​
  • 如果报错 Error: INSTALLATION FAILED: Unable to continue with install: ClusterRoleBinding "logcollector-controller" in namespace、 exists and cannot be imported into the current release……,说明已经安装了与 logcollector-controller 同名的 ClusterRoleBinding,即需要执行 kubectl delete clusterrolebinding logcollector-controller 命令先删除 ClusterRoleBinding。​
脚本安装方式​
1 下载 LogCollector 安装包​
登录用于安装 LogCollector Controller 的 Kubernetes 集群,然后根据集群地域与网络类型,执行对应的下载命令,将 LogCollector Controller 安装包下载到指定目录下。​
下载地址中的 Region ID 请替换为实际环境对应地域的 ID,如华北2(北京)地域为cn-beijing。支持的地域请参考服务地址列表。​
  • 私网下载地址​
  • ​
    wget https://logcollector-<Region ID>.tos-<Region ID>.ivolces.com/logcollector-controller.tgz; tar -xzf logcollector-controller.tgz; chmod 755 ./logcollector-controller/logcollector-controller.sh​
    ​
  • 公网下载地址​
  • ​
    wget https://logcollector-<Region ID>.tos-<Region ID>.volces.com/logcollector-controller.tgz; tar -xzf logcollector-controller.tgz; chmod 755 ./logcollector-controller/logcollector-controller.sh​
    ​
2 安装 LogCollector Controller​
执行以下命令安装 LogCollector Controller。​
​
./logcollector-controller/logcollector-controller.sh install --region <region> --endpoint <endpoint> --secret_id <secret_id> --secret_key <secret_key> --namespace <namespace> --image <image>​
​
其中,region、endpoint、secret_id、secret_key 为必选参数,namepspace、image 为可选参数,详细说明如下。​
​
参数​
是否必选​
示例​
说明​
region​
必选​
cn-beijing​
日志项目所在的地域 ID。详细说明请参考服务地址。​
endpoint​
必选​
https://tls-cn-beijing.volces.com​
​
日志服务连接域名,即服务地址。​
登录日志服务控制台后,您可以在日志项目的详情页中查看连接域名。详细说明请参考服务入口。​
secret_id​
必选​
AK********​
火山引擎账号或 IAM 用户的 Access Key ID。​
您可以在火山引擎控制台密钥管理页面,获取 Access Key ID。​
secret_key​
必选​
TUdZ********​
火山引擎账号或 IAM 用户的 Secret Access Key。​
您可以在火山引擎控制台密钥管理页面,获取 Secret Access Key。​
namespace​
可选​
kube-system​
LogCollector 命名空间。​
如果没有指定命名空间,将使用 kube-system 命名空间。如果命名空间不存在,将创建命名空间。​
image​
可选​
logcollector-cn-beijing.cr.volces.com/logcollector-controller/logcollector-controller:latest ​
LogCollector Controller 镜像地址。如果没有指定镜像地址,将使用对应 refion 的最新版本镜像地址。最新版本镜像地址请参考 LogCollector Controller 镜像地址。​
​
手动安装方式​
登录需要安装 LogCollector Controller 的 Kubernetes 集群,然后参考以下步骤以 Deployment 方式部署 LogCollector Controller。​
1 创建 LogCollectorRule CRD​
LogCollectorRule CRD 是火山引擎日志服务定义的一种 Kubernetes 资源,用于创建 LogCollector 采集配置。​
  1. 登录待安装 LogCollector CRD 的 Kubernetes 集群。​
  1. 创建一个 YAML 文件,用于定义 LogCollectorRule CRD。 本文档以 crd.yaml 为例。​
  • ​
    vim crd.yaml​
    ​
  1. 编辑 YAML 文件,在 YAML 文件中输入以下内容。​
  • ​
    apiVersion: apiextensions.k8s.io/v1​
    kind: CustomResourceDefinition​
    metadata:​
    name: collectrules.logging.vke.volcengine.com​
    spec:​
    group: logging.vke.volcengine.com​
    names:​
    kind: CollectRule​
    listKind: CollectRuleList​
    plural: collectrules​
    singular: collectrule​
    shortNames:​
    - cr​
    scope: Cluster​
    versions:​
    - name: v1alpha1​
    served: true​
    storage: true​
    subresources:​
    status: { }​
    schema:​
    openAPIV3Schema:​
    type: object​
    properties:​
    spec:​
    x-kubernetes-preserve-unknown-fields: true​
    status:​
    x-kubernetes-preserve-unknown-fields: true​
    conversion:​
    strategy: None​
    ​
  1. 执行以下命令,使 CRD 配置生效。文件名请根据实际情况替换。​
  • ​
    kubectl apply -f crd.yaml​
    ​
2 安装 LogCollector Controller​
LogCollector Controller 是一种 Kubernetes 控制器,用于监控和维护 Kubernetes 集群中的 LogCollectorRule CR 状态。当 LogCollector Controller 监控到 LogCollectorRule CR 的创建、更新或销毁时,会在日志服务控制台创建、更新或销毁对应的采集配置。​
2.1 创建 Namespace​
为 LogCollector Controller 创建一个 Namespace。​
  1. 创建一个 YAML 文件,名为 logcollector_controller_ns.yaml。​
  • ​
    vim logcollector_controller_ns.yaml​
    ​
  1. 在 YAML 文件中输入如下内容。​
  • ​
    apiVersion: v1​
    kind: Namespace​
    metadata:​
    name: <namespace>​
    ​
  • ​
  • 参数说明如下:​
  • ​
    参数​
    示例​
    说明​
    namespace​
    kube-system​
    命名空间名称。​
    ​
  1. 执行如下命令使配置生效。​
  • ​
    kubectl apply -f logcollector_controller_ns.yaml​
    ​
2.2 创建 ServiceAccount​
为 LogCollector Controller 创建一个 ServiceAccount。​
  1. 登录待安装 LogCollector Controller 的 Kubernetes 集群。​
  1. 创建一个 YAML 文件,名为 logcollector_controller_sa.yaml 。​
  • ​
    vim logcollector_controller_sa.yaml​
    ​
  1. 编辑 YAML 文件,并在 YAML 文件中输入以下内容。​
  • ​
    apiVersion: v1​
    kind: ServiceAccount​
    metadata:​
    name: logcollector-controller​
    namespace: <namespace>​
    ​
  • ​
    参数​
    示例​
    说明​
    namespace​
    kube-system​
    命名空间,输入您在2.1 创建 NamespaceConfigMap中设置的命名空间。​
    ​
  1. 执行以下命令,使配置生效。 文件名请根据实际情况替换​
  • ​
    kubectl apply -f logcollector_controller_sa.yaml​
    ​
2.3 创建 ClusterRole​
为 LogCollector Controller 创建 ClusterRole。​
  1. 登录需要安装 LogCollector Controller 的 Kubernetes 集群。​
  1. 创建一个 YAML 文件,名为 logcollector_controller_cr.yaml 。​
  • ​
    vim logcollector_controller_cr.yaml​
    ​
  1. 编辑 YAML 文件,并在 YAML 文件中输入以下内容。​
  • ​
    apiVersion: rbac.authorization.k8s.io/v1​
    kind: ClusterRole​
    metadata:​
    name: logcollector-controller​
    rules:​
    - apiGroups:​
    - logging.vke.volcengine.com​
    resources:​
    - collectrules​
    - collectrules/status​
    - collectrules/finalizers​
    verbs:​
    - get​
    - list​
    - watch​
    - create​
    - update​
    - patch​
    - delete​
    - deletecollection​
    - apiGroups:​
    - ""​
    resources:​
    - configmaps​
    - secrets​
    - events​
    verbs:​
    - watch​
    - list​
    - get​
    - apiGroups:​
    - ""​
    resources:​
    - pods​
    - nodes​
    - namespaces​
    verbs:​
    - get​
    - list​
    - watch​
    - apiGroups:​
    - apps​
    resources:​
    - replicasets​
    - deployments​
    - daemonsets​
    - statefulsets​
    verbs:​
    - watch​
    - list​
    - get​
    - apiGroups:​
    - batch​
    resources:​
    - jobs​
    - cronjobs​
    verbs:​
    - watch​
    - list​
    - get​
    ​
  1. 执行以下命令,使配置生效。​
  • ​
    kubectl apply -f logcollector_controller_cr.yaml​
    ​
2.4 创建 ClusterRoleBinding​
  1. 登录需要安装 LogCollector Controller 的 Kubernetes 集群。​
  1. 创建一个 YAML 文件,名为 logcollector_controller_crb.yaml 。​
  • ​
    vim logcollector_controller_crb.yaml​
    ​
  1. 编辑 YAML 文件,并在 YAML 文件中输入以下内容。​
  • ​
    apiVersion: rbac.authorization.k8s.io/v1​
    kind: ClusterRoleBinding​
    metadata:​
    name: logcollector-controller​
    subjects:​
    - kind: ServiceAccount​
    name: logcollector-controller​
    namespace: <namespace>​
    roleRef:​
    kind: ClusterRole​
    name: logcollector-controller​
    apiGroup: rbac.authorization.k8s.io​
    ​
  • ​
    参数​
    示例​
    说明​
    namespace​
    kube-system​
    命名空间,输入您在2.1 创建 NamespaceConfigMap中设置的命名空间。​
    ​
  1. 执行以下命令,使配置生效。​
  • ​
    kubectl apply -f logcollector_controller_crb.yaml​
    ​
2.5 创建 ConfigMap​
创建一个 LogCollector Controller 的 ConfigMap。​
  1. 登录需待安装 LogCollector Controller 的 Kubernetes 集群。​
  1. 创建一个 YAML 文件,名为 logcollector_controller_config.yaml。​
  • ​
    vim logcollector_controller_config.yaml​
    ​
  1. 编辑 YAML 文件,并在 YAML 文件中输入以下内容。​
  • ​
    apiVersion: v1​
    kind: ConfigMap​
    metadata:​
    name: logcollector-controller-config​
    namespace: <namespace>​
    data:​
    region: "<region>"​
    endpoint: "<endpoint>"​
    secret_id: "<secret_id>"​
    secret_key: "<secret_key>"​
    ​
  • ​
    参数​
    示例​
    说明​
    namespace​
    kube-system​
    命名空间,输入您在2.1 创建 NamespaceConfigMap中设置的命名空间。​
    region​
    cn-beijing​
    日志项目所在的地域。 日志服务地域及对应 ID 请参考服务入口。​
    endpoint​
    https://tls-cn-beijing.ivolces.com​
    日志服务连接域名,即服务地址。​
    登录日志服务控制台后,您可以在日志项目的详情页中查看连接域名。详细说明请参考服务地址。​
    secret_id​
    AK********​
    火山引擎账号或 IAM 用户的 Access Key ID。​
    您可以在火山引擎控制台密钥管理页面,获取 Access Key ID。​
    secret_key​
    TUdZ********​
    火山引擎主账号或 IAM 的 Secret Access Key。​
    您可以在火山引擎控制台密钥管理页面,获取 Secret Access Key。​
    ​
  1. 执行以下命令,使 ConfigMap 配置生效。​
  • ​
    kubectl apply -f logcollector_controller_config.yaml​
    ​
2.6 创建 Deployment​
为 LogCollector Controller 创建一个 Deployment。​
  1. 登录需要安装 LogCollector Controller 的 Kubernetes 集群。​
  1. 创建一个 YAML 文件,名为 logcollector_controller_ds.yaml 。​
  • ​
    vim logcollector_controller_ds.yaml​
    ​
  1. 编辑 YAML 文件,并在 YAML 文件中输入以下内容。​
  • ​
    apiVersion: apps/v1​
    kind: Deployment​
    metadata:​
    name: logcollector-controller​
    namespace: <namespace>​
    labels:​
    k8s-app: logcollector-controller​
    app.kubernetes.io/instance: logcollector-controller​
    spec:​
    selector:​
    matchLabels:​
    k8s-app: logcollector-controller​
    replicas: 1​
    template:​
    metadata:​
    labels:​
    k8s-app: logcollector-controller​
    spec:​
    serviceAccountName: logcollector-controller​
    containers:​
    - name: logcollector-controller​
    image: <image>​
    imagePullPolicy: Always​
    resources:​
    limits:​
    cpu: 4000m​
    memory: 4000Mi​
    requests:​
    cpu: 100m​
    memory: 100Mi​
    env:​
    - name: "TLS_REGION"​
    valueFrom:​
    configMapKeyRef:​
    name: logcollector-controller-config​
    key: region​
    - name: "TLS_HOST"​
    valueFrom:​
    configMapKeyRef:​
    name: logcollector-controller-config​
    key: endpoint​
    - name: "VOLC_ACCESSKEY"​
    valueFrom:​
    configMapKeyRef:​
    name: logcollector-controller-config​
    key: secret_id​
    - name: "VOLC_SECRETKEY"​
    valueFrom:​
    configMapKeyRef:​
    name: logcollector-controller-config​
    key: secret_key​
    ​
  • ​
    参数​
    示例​
    说明​
    namespace​
    kube-system​
    命名空间,输入您在2.1 创建 NamespaceConfigMap中设置的命名空间。​
    image​
    logcollector-cn-beijing.cr.volces.com/logcollector-controller/logcollector-controller:latest ​
    LogCollector 镜像地址。最新版本镜像地址请参考 LogCollector 镜像地址。​
    ​
  1. 执行以下命令,使配置生效。​
  • ​
    kubectl apply -f logcollector_controller_ds.yaml​
    ​
LogCollector Controller 镜像地址​
日志服务在各个区域提供的最新版本 LogCollector Controller 镜像地址如下:​
镜像地址中的 Region ID 请替换为实际环境对应地域的 ID,如华北2(北京)地域为cn-beijing。支持的地域请参考服务地址列表。​
​
logcollector-<Region ID>.cr.volces.com/logcollector-controller/logcollector-controller:latest​
​
​
最近更新时间:2026.08.26 14:14:29
这个页面对您有帮助吗?
有用
有用
无用
无用