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

rancher-logging Helm Chart 选项

启用/禁用 Windows 节点日志记录

您可以通过在 values.yaml 中将 global.cattle.windows.enabled 设置为 truefalse 来启用或禁用 Windows 节点日志记录。

默认情况下,如果使用集群仪表板 UI 在 Windows 集群上安装日志记录应用程序,将启用 Windows 节点日志记录。

在这种情况下,将 global.cattle.windows.enabled 设置为 false 将禁用集群上的 Windows 节点日志记录。 禁用时,仍会从 Windows 集群中的 Linux 节点收集日志。

目前存在一个 问题,即在 Windows 集群中禁用 Windows 日志记录后执行 helm upgrade 时,Windows 节点代理不会被删除。在这种情况下,如果 Windows 节点代理已经安装,用户可能需要手动去除它们。

使用自定义 Docker root 目录

如果使用自定义 Docker root 目录,您可以在 values.yaml 中设置 global.dockerRootDirectory

这将确保创建的日志 CR 使用您指定的路径,而不是默认的 Docker data-root 位置。

请注意,这仅影响 Linux 节点。

如果集群中有任何 Windows 节点,则该更改将不适用于这些节点。

为自定义污点添加 NodeSelector 设置和容忍度

您可以通过编辑日志 Helm 图表值来添加自己的 nodeSelector 设置,并为额外的污点添加 tolerations。有关详细信息,请参见 此页面。

启用日志应用程序以与 SELinux 一起使用

要求:

在 RHEL/CentOS 7 和 8 上测试了 Logging v2 与 SELinux 的兼容性。

安全增强 Linux (SELinux) 是对 Linux 的安全增强。在历史上被政府机构使用后,SELinux 现在已成为行业标准,并在 CentOS 7 和 8 上默认启用。

要在 SELinux 环境中使用 Logging v2,我们建议按照这些说明安装`rancher-selinux` RPM。

然后,在安装日志应用程序时,通过将`global.seLinux.enabled`更改为`true`来配置图表以支持SELinux。

附加日志记录源

默认情况下,Rancher会为所有集群类型收集 控制平面组件节点组件的日志。

在某些情况下,Rancher可能能够收集额外的日志。

下表总结了每种节点类型可能收集额外日志的来源:

日志来源 Linux节点(包括Windows集群中的节点) Windows节点

RKE2

K3s

AKS

EKS

GKE

要将托管的Kubernetes提供商作为额外的日志来源启用,请在安装或升级Logging Helm图表时启用*启用增强的云提供商日志记录*选项。

启用后,Rancher会收集提供商提供的所有额外节点和控制平面日志,这可能因提供商而异。

如果您已经在使用云提供商自己的日志解决方案,例如AWS CloudWatch或Google Cloud操作套件(以前称为Stackdriver),则无需启用此选项,因为本地解决方案将对所有日志具有无限制访问权限。

Systemd配置

在Rancher日志中,`SystemdLogPath`必须为K3s和RKE2 Kubernetes发行版进行配置。

K3s和RKE2 Kubernetes发行版的日志记录到journald,这是systemd用于日志记录的子系统。为了收集这些日志,必须定义`systemdLogPath`。虽然默认使用`run/log/journal`目录,但某些Linux发行套件并不默认使用此路径。例如,Ubuntu默认使用`var/log/journal`。要确定您的 systemdLogPath 配置,请参见以下步骤。

Systemd 配置步骤:

  • 在您的一个节点上运行 cat /etc/systemd/journald.conf | grep -E ^\#?Storage | cut -d"=" -f2

  • 如果返回 persistent,则您的 systemdLogPath 应该是 /var/log/journal

  • 如果返回 volatile,则您的 systemdLogPath 应该是 /run/log/journal

  • 如果返回 auto,请检查 /var/log/journal 是否存在。

    • 如果 /var/log/journal 存在,则使用 /var/log/journal

    • 如果 /var/log/journal 不存在,则使用 /run/log/journal

如果返回任何未在上述描述的值,Rancher Logging 将无法收集控制平面日志。为了解决此问题,您需要在每个控制平面节点上执行以下操作:

  • 在 journald.conf 中设置 Storage=volatile

  • 重引导计算机。

  • systemdLogPath 设置为 /run/log/journal