本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。

SUSE Rancher Prime与日志服务的集成

日志记录操作员现在取代了以前的内部解决方案,成为Rancher的日志解决方案。

启用日志记录

您可以通过访问应用页面并安装日志应用来为Rancher管理的集群启用日志记录。

  1. 转到您想要安装日志记录的集群,然后单击*应用*。

  2. 单击*日志记录*应用。

  3. 滚动到Helm图表README的底部,然后单击*安装*。

*结果:*日志应用已部署在`cattle-logging-system`名称空间中。

卸载日志记录

  1. 转到您想要安装日志记录的集群,然后单击*应用*。

  2. 单击*已安装的应用程序*。

  3. 转到`cattle-logging-system`名称空间并勾选`rancher-logging`和`rancher-logging-crd`的框。

  4. 单击*删除*。

  5. 确认*删除*。

结果 `rancher-logging`已卸载。

体系结构

有关日志应用如何工作的更多信息,请参见本节。

基于角色的访问控制

Rancher日志有两个角色,logging-admin`和`logging-view。有关如何以及何时使用这些角色的更多信息,请参见此页面。

配置日志自定义资源

要管理`Flows,` ClusterFlowsOutputs`和`ClusterOutputs

  1. 在左上角,单击*☰ > 集群管理*。

  2. 在*集群*页面,转到您要配置日志记录自定义资源的集群,并单击*浏览*。

  3. 在左侧导航栏中,单击*日志记录*。

流和集群流

有关配置`Flows`和`ClusterFlows`的帮助,请参见此页面。

输出和集群输出

有关配置`Outputs`和`ClusterOutputs`的帮助,请参见此页面。

使用自定义 HostTailer 镜像

要为`HostTailer`资源使用自定义镜像,您需要在`HostTailer`资源中每个`fileTailer`的`containerOverrides`部分中指定该镜像。

apiVersion: logging-extensions.banzaicloud.io/v1alpha1
kind: HostTailer
metadata:
  name: cluster-system-log
spec:
  workloadMetaOverrides:
    annotations: {}
    labels: {}
  fileTailers:
    - disabled: false
      name: kubelet-log
      path: /var/lib/rancher/rke2/agent/logs/*.log
      containerOverrides:
        image: <your_registry>/<your_image>:<your_tag>
    - disabled: false
      name: containerd-log
      path: /var/lib/rancher/rke2/agent/containerd/*.log
      containerOverrides:
        image: <your_registry>/<your_image>:<your_tag>
    - name: kube-audit
      path: /var/log/kube-audit/audit-log.json
      disabled: false
      containerOverrides:
        image: <your_registry>/<your_image>:<your_tag>

配置日志记录 Helm 图表

有关安装或升级日志应用程序时可以配置的选项列表,请参见此页面。

Windows 支持

您可以从 Windows 节点启用日志记录

使用自定义 Docker 根目录

有关使用自定义 Docker 根目录的详细信息,请参见本节。

处理污点和容忍

有关如何与日志应用程序一起使用污点和容忍的信息,请参见此页面。

带有 SELinux 的日志记录 V2

有关在启用了 SELinux 的节点上启用日志应用程序的信息,请参见本节。

附加日志记录源

默认情况下,Rancher 为所有集群类型的控制平面组件和节点组件收集日志。在某些情况下,可以收集额外的日志。有关详细信息,请参见本节

查错

日志缓冲区超载了 Pod。

根据您的配置,默认缓冲区大小可能过大,导致 Pod 故障。减少负载的一种方法是降低记录器的刷新间隔。这可以防止日志过度填充缓冲区。您还可以添加更多的刷新线程,以处理许多日志同时尝试填充缓冲区的时刻。

有关如何配置日志缓冲区以满足您组织需求的更完整描述,请参见官方的日志操作员文档,内容包括 缓冲区Fluentd 配置

正在重新创建 cattle-logging 名称空间。

如果您的集群之前在旧版 Rancher UI 的全局视图中部署了日志,您可能会遇到其 cattle-logging 名称空间不断被重新创建的问题。

解决方案是从管理集群的特定的名称空间中删除所有 clusterloggings.management.cattle.ioprojectloggings.management.cattle.io 自定义资源。 这些自定义资源的存在会导致 Rancher 在下游集群中创建 cattle-logging 名称空间(如果它不存在的话)。

集群名称空间与集群 ID 匹配,因此我们需要找到每个集群的集群 ID。

  1. 在左上角,单击*☰ > 集群管理*。

  2. 集群 页面上,转到您想要获取 ID 的集群,然后单击 浏览

  3. 从以下 URL 中复制 <cluster-id> 部分。<cluster-id> 部分是集群的名称空间名称。

# Cluster Management UI
https://<your-url>/c/<cluster-id>/

# Cluster Dashboard
https://<your-url>/dashboard/c/<cluster-id>/

现在我们有了 <cluster-id> 名称空间,可以删除导致 cattle-logging 不断被重新创建的 CR。 警告: 请确保日志(从旧版 Rancher UI 的全局视图中安装的版本)当前未在使用中。

kubectl delete crd clusterloggings.management.cattle.io -n <cluster-id>
kubectl delete crd projectloggings.management.cattle.io -n <cluster-id>